@aztec/end-to-end 0.82.2 → 0.82.3-nightly.20250403

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 +66 -0
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -0
  3. package/dest/bench/client_flows/client_flows_benchmark.js +281 -0
  4. package/dest/bench/client_flows/config.d.ts +14 -0
  5. package/dest/bench/client_flows/config.d.ts.map +1 -0
  6. package/dest/bench/client_flows/config.js +85 -0
  7. package/dest/bench/client_flows/data_extractor.d.ts +23 -0
  8. package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
  9. package/dest/bench/client_flows/data_extractor.js +198 -0
  10. package/dest/bench/utils.d.ts +0 -12
  11. package/dest/bench/utils.d.ts.map +1 -1
  12. package/dest/bench/utils.js +2 -28
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -12
  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 +1 -13
  16. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  17. package/dest/e2e_fees/fees_test.js +3 -14
  18. package/dest/e2e_p2p/p2p_network.d.ts +5 -0
  19. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  20. package/dest/e2e_p2p/p2p_network.js +13 -4
  21. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  22. package/dest/e2e_p2p/shared.js +1 -0
  23. package/dest/fixtures/l1_to_l2_messaging.d.ts +2 -2
  24. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  25. package/dest/fixtures/l1_to_l2_messaging.js +2 -1
  26. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  27. package/dest/fixtures/setup_l1_contracts.js +1 -2
  28. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  29. package/dest/fixtures/snapshot_manager.js +7 -2
  30. package/dest/fixtures/token_utils.d.ts +2 -1
  31. package/dest/fixtures/token_utils.d.ts.map +1 -1
  32. package/dest/fixtures/token_utils.js +14 -1
  33. package/dest/fixtures/utils.d.ts +0 -4
  34. package/dest/fixtures/utils.d.ts.map +1 -1
  35. package/dest/fixtures/utils.js +216 -238
  36. package/dest/sample-dapp/contracts.js +4 -4
  37. package/dest/shared/capture_private_execution_steps.d.ts +2 -2
  38. package/dest/shared/capture_private_execution_steps.d.ts.map +1 -1
  39. package/dest/shared/capture_private_execution_steps.js +24 -6
  40. package/dest/shared/cross_chain_test_harness.d.ts +12 -1
  41. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  42. package/dest/shared/cross_chain_test_harness.js +14 -3
  43. package/dest/shared/uniswap_l1_l2.js +8 -6
  44. package/package.json +32 -32
  45. package/src/bench/client_flows/client_flows_benchmark.ts +395 -0
  46. package/src/bench/client_flows/config.ts +53 -0
  47. package/src/bench/client_flows/data_extractor.ts +217 -0
  48. package/src/bench/utils.ts +2 -30
  49. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +1 -25
  50. package/src/e2e_fees/fees_test.ts +2 -15
  51. package/src/e2e_p2p/p2p_network.ts +10 -6
  52. package/src/e2e_p2p/shared.ts +1 -0
  53. package/src/fixtures/l1_to_l2_messaging.ts +12 -3
  54. package/src/fixtures/setup_l1_contracts.ts +1 -2
  55. package/src/fixtures/snapshot_manager.ts +7 -2
  56. package/src/fixtures/token_utils.ts +22 -2
  57. package/src/fixtures/utils.ts +235 -261
  58. package/src/sample-dapp/contracts.mjs +4 -4
  59. package/src/shared/capture_private_execution_steps.ts +43 -6
  60. package/src/shared/cross_chain_test_harness.ts +26 -2
  61. package/src/shared/uniswap_l1_l2.ts +8 -8
@@ -11,30 +11,48 @@ const logger = createLogger('e2e:capture-private-execution-steps');
11
11
  // Longer term we won't use this hacked together msgpack format
12
12
  // Leaving duplicated as this eventually bb will provide a serialization
13
13
  // helper for passing to a generic msgpack RPC endpoint.
14
- async function _createClientIvcProofFiles(directory, executionSteps) {
14
+ async function _createClientIvcProofFiles(directory, executionSteps, rawWitnesses = false) {
15
15
  const acirPath = path.join(directory, 'acir.msgpack');
16
16
  const witnessPath = path.join(directory, 'witnesses.msgpack');
17
17
  await fs.writeFile(acirPath, encode(executionSteps.map((map)=>map.bytecode)));
18
18
  await fs.writeFile(witnessPath, encode(executionSteps.map((map)=>serializeWitness(map.witness))));
19
+ let rawWitnessesPath;
20
+ if (rawWitnesses) {
21
+ rawWitnessesPath = path.join(directory, 'witnesses.json');
22
+ await fs.writeFile(rawWitnessesPath, JSON.stringify(executionSteps.map((step)=>Object.fromEntries(step.witness))));
23
+ }
19
24
  return {
20
25
  acirPath,
21
- witnessPath
26
+ witnessPath,
27
+ rawWitnessesPath
22
28
  };
23
29
  }
24
- export async function capturePrivateExecutionStepsIfEnvSet(label, interaction) {
30
+ export async function capturePrivateExecutionStepsIfEnvSet(label, interaction, opts, expectedSteps) {
25
31
  // Not included in env_var.ts as internal to e2e tests.
26
32
  const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
27
33
  if (ivcFolder) {
28
- logger.info(`Capturing client ivc execution steps for ${label}`);
34
+ const profileMode = [
35
+ 'execution-steps',
36
+ 'full'
37
+ ].includes(process.env.PROFILE_MODE ?? '') ? process.env.PROFILE_MODE : 'execution-steps';
38
+ logger.info(`Capturing client ivc execution profile for ${label} in mode ${profileMode}`);
29
39
  const result = await interaction.profile({
30
- profileMode: 'execution-steps'
40
+ ...opts,
41
+ profileMode: profileMode
31
42
  });
43
+ if (expectedSteps !== undefined && result.executionSteps.length !== expectedSteps) {
44
+ throw new Error(`Expected ${expectedSteps} execution steps, got ${result.executionSteps.length}`);
45
+ }
32
46
  const resultsDirectory = path.join(ivcFolder, label);
33
47
  logger.info(`Writing private execution steps to ${resultsDirectory}`);
34
48
  await fs.mkdir(resultsDirectory, {
35
49
  recursive: true
36
50
  });
37
- await _createClientIvcProofFiles(resultsDirectory, result.executionSteps);
51
+ await fs.writeFile(path.join(resultsDirectory, 'steps.json'), JSON.stringify(result.executionSteps.map((step)=>({
52
+ fnName: step.functionName,
53
+ gateCount: step.gateCount
54
+ })), null, 2));
55
+ await _createClientIvcProofFiles(resultsDirectory, result.executionSteps, profileMode === 'full');
38
56
  logger.info(`Wrote private execution steps to ${resultsDirectory}`);
39
57
  }
40
58
  }
@@ -35,6 +35,16 @@ export declare function deployAndInitializeTokenAndBridgeContracts(wallet: Walle
35
35
  */
36
36
  underlyingERC20: any;
37
37
  }>;
38
+ export type CrossChainContext = {
39
+ l2Token: AztecAddress;
40
+ l2Bridge: AztecAddress;
41
+ tokenPortal: EthAddress;
42
+ underlying: EthAddress;
43
+ ethAccount: EthAddress;
44
+ ownerAddress: AztecAddress;
45
+ inbox: EthAddress;
46
+ outbox: EthAddress;
47
+ };
38
48
  /**
39
49
  * A Class for testing cross chain interactions, contains common interactions
40
50
  * shared between cross chain tests.
@@ -108,7 +118,7 @@ export declare class CrossChainTestHarness {
108
118
  expectPrivateBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
109
119
  getL2PublicBalanceOf(owner: AztecAddress): Promise<any>;
110
120
  expectPublicBalanceOnL2(owner: AztecAddress, expectedBalance: bigint): Promise<void>;
111
- getL2ToL1MessageLeaf(withdrawAmount: bigint, callerOnL1?: EthAddress): Fr;
121
+ getL2ToL1MessageLeaf(withdrawAmount: bigint, callerOnL1?: EthAddress): Promise<Fr>;
112
122
  withdrawFundsFromBridgeOnL1(amount: bigint, blockNumber: number | bigint, messageIndex: bigint, siblingPath: SiblingPath<number>): Promise<void>;
113
123
  transferToPrivateOnL2(shieldAmount: bigint): Promise<void>;
114
124
  transferToPublicOnL2(amount: bigint, nonce?: Fr): Promise<void>;
@@ -120,5 +130,6 @@ export declare class CrossChainTestHarness {
120
130
  * it's included it becomes available for consumption in the next block because the l1 to l2 message tree.
121
131
  */
122
132
  makeMessageConsumable(msgHash: Fr | Hex): Promise<void>;
133
+ toCrossChainContext(): CrossChainContext;
123
134
  }
124
135
  //# sourceMappingURL=cross_chain_test_harness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cross_chain_test_harness.d.ts","sourceRoot":"","sources":["../../src/shared/cross_chain_test_harness.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,6 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
58
58
  underlyingERC20
59
59
  };
60
60
  }
61
- // docs:end:deployAndInitializeTokenAndBridgeContracts
62
61
  /**
63
62
  * A Class for testing cross chain interactions, contains common interactions
64
63
  * shared between cross chain tests.
@@ -175,8 +174,8 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
175
174
  const balance = await this.getL2PublicBalanceOf(owner);
176
175
  expect(balance).toBe(expectedBalance);
177
176
  }
178
- getL2ToL1MessageLeaf(withdrawAmount, callerOnL1 = EthAddress.ZERO) {
179
- return this.l1TokenPortalManager.getL2ToL1MessageLeaf(withdrawAmount, this.ethAccount, this.l2Bridge.address, callerOnL1);
177
+ async getL2ToL1MessageLeaf(withdrawAmount, callerOnL1 = EthAddress.ZERO) {
178
+ return await this.l1TokenPortalManager.getL2ToL1MessageLeaf(withdrawAmount, this.ethAccount, this.l2Bridge.address, callerOnL1);
180
179
  }
181
180
  withdrawFundsFromBridgeOnL1(amount, blockNumber, messageIndex, siblingPath) {
182
181
  return this.l1TokenPortalManager.withdrawFunds(amount, this.ethAccount, BigInt(blockNumber), messageIndex, siblingPath);
@@ -202,4 +201,16 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
202
201
  await this.mintTokensPublicOnL2(0n);
203
202
  await this.mintTokensPublicOnL2(0n);
204
203
  }
204
+ toCrossChainContext() {
205
+ return {
206
+ l2Token: this.l2Token.address,
207
+ l2Bridge: this.l2Bridge.address,
208
+ tokenPortal: this.tokenPortalAddress,
209
+ underlying: this.underlyingERC20Address,
210
+ ethAccount: this.ethAccount,
211
+ ownerAddress: this.ownerAddress,
212
+ inbox: this.l1ContractAddresses.inboxAddress,
213
+ outbox: this.l1ContractAddresses.outboxAddress
214
+ };
215
+ }
205
216
  } // docs:end:cross_chain_test_harness
@@ -44,12 +44,14 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
44
44
  const uniswapFeeTier = 3000n;
45
45
  const minimumOutputAmount = 0n;
46
46
  let cheatCodes;
47
+ let version;
47
48
  beforeAll(async ()=>{
48
49
  ({ aztecNode, pxe, logger, publicClient, walletClient, ownerWallet, sponsorWallet, deployL1ContractsValues, cheatCodes } = await setup());
49
50
  if (Number(await publicClient.getBlockNumber()) < expectedForkBlockNumber) {
50
51
  throw new Error('This test must be run on a fork of mainnet with the expected fork block');
51
52
  }
52
53
  rollup = new RollupContract(deployL1ContractsValues.publicClient, deployL1ContractsValues.l1ContractAddresses.rollupAddress);
54
+ version = Number(await rollup.getVersion());
53
55
  ownerAddress = ownerWallet.getAddress();
54
56
  // sponsorAddress = sponsorWallet.getAddress();
55
57
  ownerEthAddress = EthAddress.fromString((await walletClient.getAddresses())[0]);
@@ -135,7 +137,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
135
137
  ]);
136
138
  const swapPrivateLeaf = sha256ToField([
137
139
  uniswapL2Contract.address,
138
- new Fr(1),
140
+ new Fr(version),
139
141
  EthAddress.fromString(uniswapPortal.address).toBuffer32(),
140
142
  new Fr(publicClient.chain.id),
141
143
  swapPrivateContent
@@ -148,7 +150,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
148
150
  ]);
149
151
  const withdrawLeaf = sha256ToField([
150
152
  wethCrossChainHarness.l2Bridge.address,
151
- new Fr(1),
153
+ new Fr(version),
152
154
  wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
153
155
  new Fr(publicClient.chain.id),
154
156
  withdrawContent
@@ -532,7 +534,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
532
534
  ]);
533
535
  const swapPrivateLeaf = sha256ToField([
534
536
  uniswapL2Contract.address,
535
- new Fr(1),
537
+ new Fr(version),
536
538
  EthAddress.fromString(uniswapPortal.address).toBuffer32(),
537
539
  new Fr(publicClient.chain.id),
538
540
  swapPrivateContent
@@ -545,7 +547,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
545
547
  ]);
546
548
  const withdrawLeaf = sha256ToField([
547
549
  wethCrossChainHarness.l2Bridge.address,
548
- new Fr(1),
550
+ new Fr(version),
549
551
  wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
550
552
  new Fr(publicClient.chain.id),
551
553
  withdrawContent
@@ -612,7 +614,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
612
614
  ]);
613
615
  const swapPublicLeaf = sha256ToField([
614
616
  uniswapL2Contract.address,
615
- new Fr(1),
617
+ new Fr(version),
616
618
  EthAddress.fromString(uniswapPortal.address).toBuffer32(),
617
619
  new Fr(publicClient.chain.id),
618
620
  swapPublicContent
@@ -625,7 +627,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
625
627
  ]);
626
628
  const withdrawLeaf = sha256ToField([
627
629
  wethCrossChainHarness.l2Bridge.address,
628
- new Fr(1),
630
+ new Fr(version),
629
631
  wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
630
632
  new Fr(publicClient.chain.id),
631
633
  withdrawContent
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.82.2",
3
+ "version": "0.82.3-nightly.20250403",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -26,37 +26,37 @@
26
26
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/accounts": "0.82.2",
30
- "@aztec/archiver": "0.82.2",
31
- "@aztec/aztec": "0.82.2",
32
- "@aztec/aztec-node": "0.82.2",
33
- "@aztec/aztec.js": "0.82.2",
34
- "@aztec/bb-prover": "0.82.2",
35
- "@aztec/blob-lib": "0.82.2",
36
- "@aztec/blob-sink": "0.82.2",
37
- "@aztec/bot": "0.82.2",
38
- "@aztec/constants": "0.82.2",
39
- "@aztec/entrypoints": "0.82.2",
40
- "@aztec/epoch-cache": "0.82.2",
41
- "@aztec/ethereum": "0.82.2",
42
- "@aztec/foundation": "0.82.2",
43
- "@aztec/kv-store": "0.82.2",
44
- "@aztec/l1-artifacts": "0.82.2",
45
- "@aztec/merkle-tree": "0.82.2",
46
- "@aztec/noir-contracts.js": "0.82.2",
47
- "@aztec/noir-noirc_abi": "0.82.2",
48
- "@aztec/noir-protocol-circuits-types": "0.82.2",
49
- "@aztec/p2p": "0.82.2",
50
- "@aztec/protocol-contracts": "0.82.2",
51
- "@aztec/prover-client": "0.82.2",
52
- "@aztec/prover-node": "0.82.2",
53
- "@aztec/pxe": "0.82.2",
54
- "@aztec/sequencer-client": "0.82.2",
55
- "@aztec/simulator": "0.82.2",
56
- "@aztec/stdlib": "0.82.2",
57
- "@aztec/telemetry-client": "0.82.2",
58
- "@aztec/validator-client": "0.82.2",
59
- "@aztec/world-state": "0.82.2",
29
+ "@aztec/accounts": "0.82.3-nightly.20250403",
30
+ "@aztec/archiver": "0.82.3-nightly.20250403",
31
+ "@aztec/aztec": "0.82.3-nightly.20250403",
32
+ "@aztec/aztec-node": "0.82.3-nightly.20250403",
33
+ "@aztec/aztec.js": "0.82.3-nightly.20250403",
34
+ "@aztec/bb-prover": "0.82.3-nightly.20250403",
35
+ "@aztec/blob-lib": "0.82.3-nightly.20250403",
36
+ "@aztec/blob-sink": "0.82.3-nightly.20250403",
37
+ "@aztec/bot": "0.82.3-nightly.20250403",
38
+ "@aztec/constants": "0.82.3-nightly.20250403",
39
+ "@aztec/entrypoints": "0.82.3-nightly.20250403",
40
+ "@aztec/epoch-cache": "0.82.3-nightly.20250403",
41
+ "@aztec/ethereum": "0.82.3-nightly.20250403",
42
+ "@aztec/foundation": "0.82.3-nightly.20250403",
43
+ "@aztec/kv-store": "0.82.3-nightly.20250403",
44
+ "@aztec/l1-artifacts": "0.82.3-nightly.20250403",
45
+ "@aztec/merkle-tree": "0.82.3-nightly.20250403",
46
+ "@aztec/noir-contracts.js": "0.82.3-nightly.20250403",
47
+ "@aztec/noir-noirc_abi": "0.82.3-nightly.20250403",
48
+ "@aztec/noir-protocol-circuits-types": "0.82.3-nightly.20250403",
49
+ "@aztec/p2p": "0.82.3-nightly.20250403",
50
+ "@aztec/protocol-contracts": "0.82.3-nightly.20250403",
51
+ "@aztec/prover-client": "0.82.3-nightly.20250403",
52
+ "@aztec/prover-node": "0.82.3-nightly.20250403",
53
+ "@aztec/pxe": "0.82.3-nightly.20250403",
54
+ "@aztec/sequencer-client": "0.82.3-nightly.20250403",
55
+ "@aztec/simulator": "0.82.3-nightly.20250403",
56
+ "@aztec/stdlib": "0.82.3-nightly.20250403",
57
+ "@aztec/telemetry-client": "0.82.3-nightly.20250403",
58
+ "@aztec/validator-client": "0.82.3-nightly.20250403",
59
+ "@aztec/world-state": "0.82.3-nightly.20250403",
60
60
  "@iarna/toml": "^2.2.5",
61
61
  "@jest/globals": "^29.5.0",
62
62
  "@msgpack/msgpack": "^3.0.0-beta2",