@aztec/end-to-end 3.0.0-nightly.20250922 → 3.0.0-nightly.20250923

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.d.ts +0 -1
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +5 -8
  4. package/dest/bench/utils.d.ts +1 -10
  5. package/dest/bench/utils.d.ts.map +1 -1
  6. package/dest/bench/utils.js +0 -25
  7. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -2
  8. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  9. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +1 -3
  10. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +1 -2
  11. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  12. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +6 -8
  13. package/dest/e2e_deploy_contract/deploy_test.d.ts +3 -3
  14. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  15. package/dest/e2e_deploy_contract/deploy_test.js +2 -3
  16. package/dest/e2e_fees/fees_test.d.ts +1 -2
  17. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  18. package/dest/e2e_fees/fees_test.js +5 -8
  19. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -2
  20. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  21. package/dest/e2e_nested_contract/nested_contract_test.js +1 -3
  22. package/dest/e2e_p2p/shared.d.ts +2 -1
  23. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  24. package/dest/e2e_p2p/shared.js +5 -3
  25. package/dest/fixtures/e2e_prover_test.d.ts +0 -2
  26. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  27. package/dest/fixtures/e2e_prover_test.js +6 -9
  28. package/dest/fixtures/snapshot_manager.d.ts +0 -2
  29. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  30. package/dest/fixtures/snapshot_manager.js +2 -4
  31. package/dest/fixtures/utils.d.ts +12 -14
  32. package/dest/fixtures/utils.d.ts.map +1 -1
  33. package/dest/fixtures/utils.js +17 -19
  34. package/dest/shared/cross_chain_test_harness.d.ts +2 -6
  35. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  36. package/dest/shared/cross_chain_test_harness.js +3 -5
  37. package/dest/shared/gas_portal_test_harness.d.ts +5 -6
  38. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  39. package/dest/shared/gas_portal_test_harness.js +5 -5
  40. package/dest/shared/uniswap_l1_l2.d.ts +1 -3
  41. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  42. package/dest/shared/uniswap_l1_l2.js +3 -4
  43. package/dest/spartan/setup_test_wallets.d.ts +5 -5
  44. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  45. package/dest/spartan/setup_test_wallets.js +10 -12
  46. package/package.json +37 -37
  47. package/src/bench/client_flows/client_flows_benchmark.ts +4 -8
  48. package/src/bench/utils.ts +1 -28
  49. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +1 -4
  50. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +5 -9
  51. package/src/e2e_deploy_contract/deploy_test.ts +4 -5
  52. package/src/e2e_fees/fees_test.ts +6 -9
  53. package/src/e2e_nested_contract/nested_contract_test.ts +2 -4
  54. package/src/e2e_p2p/shared.ts +6 -2
  55. package/src/fixtures/e2e_prover_test.ts +7 -12
  56. package/src/fixtures/snapshot_manager.ts +3 -6
  57. package/src/fixtures/utils.ts +21 -30
  58. package/src/shared/cross_chain_test_harness.ts +0 -5
  59. package/src/shared/gas_portal_test_harness.ts +4 -6
  60. package/src/shared/uniswap_l1_l2.ts +1 -7
  61. package/src/spartan/setup_test_wallets.ts +10 -15
@@ -8,7 +8,6 @@ import {
8
8
  BatchCall,
9
9
  type ContractMethod,
10
10
  type Logger,
11
- type PXE,
12
11
  type Wallet,
13
12
  createAztecNodeClient,
14
13
  createLogger,
@@ -57,12 +56,7 @@ import type { P2PClientDeps } from '@aztec/p2p';
57
56
  import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
58
57
  import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
59
58
  import { type ProverNode, type ProverNodeConfig, type ProverNodeDeps, createProverNode } from '@aztec/prover-node';
60
- import {
61
- type PXEService,
62
- type PXEServiceConfig,
63
- createPXEServiceWithSimulator,
64
- getPXEServiceConfig,
65
- } from '@aztec/pxe/server';
59
+ import { type PXEServiceConfig, createPXEServiceWithSimulator, getPXEServiceConfig } from '@aztec/pxe/server';
66
60
  import type { SequencerClient } from '@aztec/sequencer-client';
67
61
  import type { TestSequencerClient } from '@aztec/sequencer-client/test';
68
62
  import { MemoryCircuitRecorder, SimulatorRecorderWrapper, WASMSimulator } from '@aztec/simulator/client';
@@ -148,23 +142,23 @@ export const setupL1Contracts = async (
148
142
  };
149
143
 
150
144
  /**
151
- * Sets up Private eXecution Environment (PXE).
145
+ * Sets up Private eXecution Environment (PXE) and returns the corresponding test wallet.
152
146
  * @param aztecNode - An instance of Aztec Node.
153
147
  * @param opts - Partial configuration for the PXE service.
154
148
  * @param logger - The logger to be used.
155
149
  * @param useLogSuffix - Whether to add a randomly generated suffix to the PXE debug logs.
156
- * @returns Private eXecution Environment (PXE), logger and teardown function.
150
+ * @returns A test wallet, logger and teardown function.
157
151
  */
158
- export async function setupPXEService(
152
+ export async function setupPXEServiceAndGetWallet(
159
153
  aztecNode: AztecNode,
160
154
  opts: Partial<PXEServiceConfig> = {},
161
155
  logger = getLogger(),
162
156
  useLogSuffix = false,
163
157
  ): Promise<{
164
158
  /**
165
- * The PXE instance.
159
+ * The wallet instance.
166
160
  */
167
- pxe: PXEService;
161
+ wallet: TestWallet;
168
162
  /**
169
163
  * Logger instance named as the current test.
170
164
  */
@@ -195,8 +189,10 @@ export async function setupPXEService(
195
189
 
196
190
  const teardown = configuredDataDirectory ? () => Promise.resolve() : () => tryRmDir(pxeServiceConfig.dataDirectory!);
197
191
 
192
+ const wallet = new TestWallet(pxe, aztecNode);
193
+
198
194
  return {
199
- pxe,
195
+ wallet,
200
196
  logger,
201
197
  teardown,
202
198
  };
@@ -236,12 +232,12 @@ async function setupWithRemoteEnvironment(
236
232
  rollupVersion,
237
233
  };
238
234
  const ethCheatCodes = new EthCheatCodes(config.l1RpcUrls);
239
- const cheatCodes = await CheatCodes.create(config.l1RpcUrls, pxeClient!, aztecNode);
235
+ const wallet = new TestWallet(pxeClient, aztecNode);
236
+ const cheatCodes = await CheatCodes.create(config.l1RpcUrls, wallet, aztecNode);
240
237
  const teardown = () => Promise.resolve();
241
238
 
242
239
  logger.verbose('Populating wallet from already registered accounts...');
243
- const initialFundedAccounts = await getDeployedTestAccounts(pxeClient);
244
- const wallet = new TestWallet(pxeClient, aztecNode);
240
+ const initialFundedAccounts = await getDeployedTestAccounts(wallet);
245
241
 
246
242
  if (initialFundedAccounts.length < numberOfAccounts) {
247
243
  throw new Error(`Required ${numberOfAccounts} accounts. Found ${initialFundedAccounts.length}.`);
@@ -260,7 +256,6 @@ async function setupWithRemoteEnvironment(
260
256
  aztecNodeAdmin: undefined,
261
257
  sequencer: undefined,
262
258
  proverNode: undefined,
263
- pxe: pxeClient,
264
259
  deployL1ContractsValues,
265
260
  config,
266
261
  initialFundedAccounts,
@@ -337,8 +332,6 @@ export type EndToEndContext = {
337
332
  proverNode: ProverNode | undefined;
338
333
  /** A client to the sequencer service (undefined if connected to remote environment) */
339
334
  sequencer: SequencerClient | undefined;
340
- /** The Private eXecution Environment (PXE). */
341
- pxe: PXE;
342
335
  /** Return values from deployL1Contracts function. */
343
336
  deployL1ContractsValues: DeployL1ContractsReturnType;
344
337
  /** The Aztec Node configuration. */
@@ -655,9 +648,9 @@ export async function setup(
655
648
  }
656
649
 
657
650
  logger.verbose('Creating a pxe...');
658
- const { pxe, teardown: pxeTeardown } = await setupPXEService(aztecNode!, pxeOpts, logger);
651
+ const { wallet, teardown: pxeTeardown } = await setupPXEServiceAndGetWallet(aztecNode!, pxeOpts, logger);
659
652
 
660
- const cheatCodes = await CheatCodes.create(config.l1RpcUrls, pxe!, aztecNode);
653
+ const cheatCodes = await CheatCodes.create(config.l1RpcUrls, wallet, aztecNode);
661
654
 
662
655
  if (
663
656
  (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0) ||
@@ -670,7 +663,6 @@ export async function setup(
670
663
  await cheatCodes.rollup.setupEpoch();
671
664
  await cheatCodes.rollup.debugRollup();
672
665
  }
673
- const wallet = new TestWallet(pxe, aztecNode);
674
666
  let accounts: AztecAddress[] = [];
675
667
  // Below we continue with what we described in the long comment on line 571.
676
668
  if (numberOfAccounts === 0) {
@@ -736,7 +728,6 @@ export async function setup(
736
728
  mockGossipSubNetwork,
737
729
  prefilledPublicData,
738
730
  proverNode,
739
- pxe,
740
731
  sequencer: sequencerClient,
741
732
  teardown,
742
733
  telemetryClient: telemetry,
@@ -866,7 +857,7 @@ export async function expectMappingDelta<K, V extends number | bigint>(
866
857
  }
867
858
 
868
859
  /**
869
- * Computes the address of the "canonical" SponosoredFPCContract. This is not a protocol contract
860
+ * Computes the address of the "canonical" SponsoredFPCContract. This is not a protocol contract
870
861
  * but by conventions its address is computed with a salt of 0.
871
862
  * @returns The address of the sponsored FPC contract
872
863
  */
@@ -879,7 +870,7 @@ export function getSponsoredFPCInstance(): Promise<ContractInstanceWithAddress>
879
870
  }
880
871
 
881
872
  /**
882
- * Computes the address of the "canonical" SponosoredFPCContract. This is not a protocol contract
873
+ * Computes the address of the "canonical" SponsoredFPCContract. This is not a protocol contract
883
874
  * but by conventions its address is computed with a salt of 0.
884
875
  * @returns The address of the sponsored FPC contract
885
876
  */
@@ -891,22 +882,22 @@ export async function getSponsoredFPCAddress() {
891
882
  /**
892
883
  * Deploy a sponsored FPC contract to a running instance.
893
884
  */
894
- export async function setupSponsoredFPC(pxe: PXE) {
885
+ export async function setupSponsoredFPC(wallet: Wallet) {
895
886
  const instance = await getContractInstanceFromInstantiationParams(SponsoredFPCContract.artifact, {
896
887
  salt: new Fr(SPONSORED_FPC_SALT),
897
888
  });
898
889
 
899
- await pxe.registerContract({ instance, artifact: SponsoredFPCContract.artifact });
890
+ await wallet.registerContract({ instance, artifact: SponsoredFPCContract.artifact });
900
891
  getLogger().info(`SponsoredFPC: ${instance.address}`);
901
892
  return instance;
902
893
  }
903
894
 
904
895
  /**
905
896
  * Registers the SponsoredFPC in this PXE instance
906
- * @param pxe - The pxe client
897
+ * @param wallet - The wallet
907
898
  */
908
- export async function registerSponsoredFPC(pxe: PXE | Wallet): Promise<void> {
909
- await pxe.registerContract({ instance: await getSponsoredFPCInstance(), artifact: SponsoredFPCContract.artifact });
899
+ export async function registerSponsoredFPC(wallet: Wallet): Promise<void> {
900
+ await wallet.registerContract({ instance: await getSponsoredFPCInstance(), artifact: SponsoredFPCContract.artifact });
910
901
  }
911
902
 
912
903
  export async function waitForProvenChain(node: AztecNode, targetBlock?: number, timeoutSec = 60, intervalSec = 1) {
@@ -11,7 +11,6 @@ import {
11
11
  type L2AmountClaim,
12
12
  type L2AmountClaimWithRecipient,
13
13
  type Logger,
14
- type PXE,
15
14
  type SiblingPath,
16
15
  type TxReceipt,
17
16
  type Wallet,
@@ -131,7 +130,6 @@ export type CrossChainContext = {
131
130
  export class CrossChainTestHarness {
132
131
  static async new(
133
132
  aztecNode: AztecNode,
134
- pxeService: PXE,
135
133
  l1Client: ExtendedViemWalletClient,
136
134
  wallet: Wallet,
137
135
  ownerAddress: AztecAddress,
@@ -154,7 +152,6 @@ export class CrossChainTestHarness {
154
152
 
155
153
  return new CrossChainTestHarness(
156
154
  aztecNode,
157
- pxeService,
158
155
  logger,
159
156
  token,
160
157
  bridge,
@@ -174,8 +171,6 @@ export class CrossChainTestHarness {
174
171
  constructor(
175
172
  /** Aztec node instance. */
176
173
  public aztecNode: AztecNode,
177
- /** Private eXecution Environment (PXE). */
178
- public pxeService: PXE,
179
174
  /** Logger. */
180
175
  public logger: Logger,
181
176
 
@@ -7,7 +7,6 @@ import {
7
7
  type L1TokenManager,
8
8
  type L2AmountClaim,
9
9
  type Logger,
10
- type PXE,
11
10
  type Wallet,
12
11
  retryUntil,
13
12
  } from '@aztec/aztec.js';
@@ -27,7 +26,6 @@ export interface IGasBridgingTestHarness {
27
26
  export interface FeeJuicePortalTestingHarnessFactoryConfig {
28
27
  aztecNode: AztecNode;
29
28
  aztecNodeAdmin?: AztecNodeAdmin;
30
- pxeService: PXE;
31
29
  l1Client: ExtendedViemWalletClient;
32
30
  wallet: Wallet;
33
31
  logger: Logger;
@@ -38,7 +36,7 @@ export class FeeJuicePortalTestingHarnessFactory {
38
36
  private constructor(private config: FeeJuicePortalTestingHarnessFactoryConfig) {}
39
37
 
40
38
  private async createReal() {
41
- const { aztecNode, aztecNodeAdmin, pxeService, l1Client, wallet, logger } = this.config;
39
+ const { aztecNode, aztecNodeAdmin, l1Client, wallet, logger } = this.config;
42
40
 
43
41
  const ethAccount = EthAddress.fromString((await l1Client.getAddresses())[0]);
44
42
  const l1ContractAddresses = (await aztecNode.getNodeInfo()).l1ContractAddresses;
@@ -55,7 +53,7 @@ export class FeeJuicePortalTestingHarnessFactory {
55
53
  return new GasBridgingTestHarness(
56
54
  aztecNode,
57
55
  aztecNodeAdmin,
58
- pxeService,
56
+ wallet,
59
57
  logger,
60
58
  gasL2,
61
59
  ethAccount,
@@ -85,8 +83,8 @@ export class GasBridgingTestHarness implements IGasBridgingTestHarness {
85
83
  public aztecNode: AztecNode,
86
84
  /** Aztec node admin interface */
87
85
  public aztecNodeAdmin: AztecNodeAdmin | undefined,
88
- /** Private eXecution Environment (PXE). */
89
- public pxeService: PXE,
86
+ /** Wallet. */
87
+ public wallet: Wallet,
90
88
  /** Logger. */
91
89
  public logger: Logger,
92
90
 
@@ -4,7 +4,6 @@ import {
4
4
  EthAddress,
5
5
  Fr,
6
6
  type Logger,
7
- type PXE,
8
7
  computeAuthWitMessageHash,
9
8
  generateClaimSecret,
10
9
  } from '@aztec/aztec.js';
@@ -43,8 +42,6 @@ const TIMEOUT = 360_000;
43
42
  export type UniswapSetupContext = {
44
43
  /** Aztec Node instance */
45
44
  aztecNode: AztecNode;
46
- /** The Private eXecution Environment (PXE). */
47
- pxe: PXE;
48
45
  /** Logger instance named as the current test. */
49
46
  logger: Logger;
50
47
  /** The L1 wallet client, extended with public actions. */
@@ -75,7 +72,6 @@ export const uniswapL1L2TestSuite = (
75
72
  const DAI_ADDRESS: EthAddress = EthAddress.fromString('0x6B175474E89094C44Da98b954EedeAC495271d0F');
76
73
 
77
74
  let aztecNode: AztecNode;
78
- let pxe: PXE;
79
75
  let logger: Logger;
80
76
 
81
77
  let l1Client: ExtendedViemWalletClient;
@@ -102,7 +98,7 @@ export const uniswapL1L2TestSuite = (
102
98
  let cheatCodes: CheatCodes;
103
99
  let version: number;
104
100
  beforeAll(async () => {
105
- ({ aztecNode, pxe, logger, l1Client, wallet, ownerAddress, sponsorAddress, deployL1ContractsValues, cheatCodes } =
101
+ ({ aztecNode, logger, l1Client, wallet, ownerAddress, sponsorAddress, deployL1ContractsValues, cheatCodes } =
106
102
  await setup());
107
103
 
108
104
  if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
@@ -121,7 +117,6 @@ export const uniswapL1L2TestSuite = (
121
117
  logger.info('Deploying DAI Portal, initializing and deploying l2 contract...');
122
118
  daiCrossChainHarness = await CrossChainTestHarness.new(
123
119
  aztecNode,
124
- pxe,
125
120
  deployL1ContractsValues.l1Client,
126
121
  wallet,
127
122
  ownerAddress,
@@ -132,7 +127,6 @@ export const uniswapL1L2TestSuite = (
132
127
  logger.info('Deploying WETH Portal, initializing and deploying l2 contract...');
133
128
  wethCrossChainHarness = await CrossChainTestHarness.new(
134
129
  aztecNode,
135
- pxe,
136
130
  l1Client,
137
131
  wallet,
138
132
  ownerAddress,
@@ -6,7 +6,6 @@ import {
6
6
  type FeePaymentMethod,
7
7
  Fr,
8
8
  L1FeeJuicePortalManager,
9
- type PXE,
10
9
  SponsoredFeePaymentMethod,
11
10
  type Wallet,
12
11
  createAztecNodeClient,
@@ -25,7 +24,6 @@ import { getBBConfig } from '../fixtures/get_bb_config.js';
25
24
  import { getSponsoredFPCAddress, registerSponsoredFPC } from '../fixtures/utils.js';
26
25
 
27
26
  export interface TestAccounts {
28
- pxe: PXE;
29
27
  aztecNode: AztecNode;
30
28
  wallet: TestWallet;
31
29
  accounts: AztecAddress[];
@@ -52,7 +50,7 @@ export async function setupTestAccountsWithTokens(
52
50
  const aztecNode = createAztecNodeClient(nodeUrl);
53
51
  const wallet = new TestWallet(pxe, aztecNode);
54
52
 
55
- const [recipientAccount, ...accounts] = (await getDeployedTestAccounts(pxe)).slice(0, ACCOUNT_COUNT + 1);
53
+ const [recipientAccount, ...accounts] = (await getDeployedTestAccounts(wallet)).slice(0, ACCOUNT_COUNT + 1);
56
54
 
57
55
  const tokenAdmin = accounts[0];
58
56
  const tokenAddress = await deployTokenAndMint(
@@ -66,7 +64,6 @@ export async function setupTestAccountsWithTokens(
66
64
  const tokenContract = await TokenContract.at(tokenAddress, wallet);
67
65
 
68
66
  return {
69
- pxe,
70
67
  aztecNode,
71
68
  accounts: accounts.map(acc => acc.address),
72
69
  wallet,
@@ -79,13 +76,12 @@ export async function setupTestAccountsWithTokens(
79
76
  }
80
77
 
81
78
  export async function deploySponsoredTestAccounts(
82
- pxe: PXE,
79
+ wallet: TestWallet,
83
80
  aztecNode: AztecNode,
84
81
  mintAmount: bigint,
85
82
  logger: Logger,
86
83
  numberOfFundedWallets = 1,
87
84
  ): Promise<TestAccounts> {
88
- const wallet = new TestWallet(pxe, aztecNode);
89
85
  const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
90
86
  const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
91
87
  const fundedAccounts = await Promise.all(funded.map(a => wallet.createSchnorrAccount(a.secret, a.salt)));
@@ -112,7 +108,6 @@ export async function deploySponsoredTestAccounts(
112
108
  const tokenContract = await TokenContract.at(tokenAddress, wallet);
113
109
 
114
110
  return {
115
- pxe,
116
111
  aztecNode,
117
112
  wallet,
118
113
  accounts: fundedAccounts.map(acc => acc.getAddress()),
@@ -143,7 +138,7 @@ export async function deployTestAccountsWithTokens(
143
138
 
144
139
  const claims = await Promise.all(
145
140
  fundedAccounts.map(a =>
146
- bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, pxe, aztecNode, a.getAddress(), undefined, logger),
141
+ bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.getAddress(), undefined, logger),
147
142
  ),
148
143
  );
149
144
 
@@ -172,7 +167,6 @@ export async function deployTestAccountsWithTokens(
172
167
  const tokenContract = await TokenContract.at(tokenAddress, wallet);
173
168
 
174
169
  return {
175
- pxe,
176
170
  aztecNode,
177
171
  wallet,
178
172
  accounts: fundedAccounts.map(acc => acc.getAddress()),
@@ -187,7 +181,6 @@ export async function deployTestAccountsWithTokens(
187
181
  async function bridgeL1FeeJuice(
188
182
  l1RpcUrls: string[],
189
183
  mnemonicOrPrivateKey: string,
190
- pxe: PXE,
191
184
  aztecNode: AztecNode,
192
185
  recipient: AztecAddress,
193
186
  amount: bigint | undefined,
@@ -293,23 +286,25 @@ export async function performTransfers({
293
286
  }
294
287
  }
295
288
 
296
- export async function startCompatiblePXE(
289
+ export async function createWalletAndAztecNodeClient(
297
290
  nodeUrl: string,
298
291
  proverEnabled: boolean,
299
292
  logger: Logger,
300
- ): Promise<{ pxe: PXE; cleanup: () => Promise<void> }> {
301
- const node = createAztecNodeClient(nodeUrl);
293
+ ): Promise<{ wallet: TestWallet; aztecNode: AztecNode; cleanup: () => Promise<void> }> {
294
+ const aztecNode = createAztecNodeClient(nodeUrl);
302
295
  const [bbConfig, acvmConfig] = await Promise.all([getBBConfig(logger), getACVMConfig(logger)]);
303
- const pxe = await createPXEService(node, {
296
+ const pxe = await createPXEService(aztecNode, {
304
297
  dataDirectory: undefined,
305
298
  dataStoreMapSizeKB: 1024 * 1024,
306
299
  ...bbConfig,
307
300
  ...acvmConfig,
308
301
  proverEnabled,
309
302
  });
303
+ const wallet = new TestWallet(pxe, aztecNode);
310
304
 
311
305
  return {
312
- pxe,
306
+ wallet,
307
+ aztecNode,
313
308
  async cleanup() {
314
309
  await pxe.stop();
315
310
  await bbConfig?.cleanup();