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

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 (44) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +52 -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 +236 -0
  4. package/dest/bench/client_flows/data_extractor.d.ts +23 -0
  5. package/dest/bench/client_flows/data_extractor.d.ts.map +1 -0
  6. package/dest/bench/client_flows/data_extractor.js +199 -0
  7. package/dest/bench/utils.d.ts +0 -12
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +0 -26
  10. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -12
  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 +1 -13
  13. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  14. package/dest/e2e_fees/fees_test.js +1 -10
  15. package/dest/e2e_p2p/p2p_network.d.ts +5 -0
  16. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  17. package/dest/e2e_p2p/p2p_network.js +12 -3
  18. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  19. package/dest/e2e_p2p/shared.js +1 -0
  20. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  21. package/dest/fixtures/snapshot_manager.js +3 -1
  22. package/dest/fixtures/token_utils.d.ts +2 -1
  23. package/dest/fixtures/token_utils.d.ts.map +1 -1
  24. package/dest/fixtures/token_utils.js +14 -1
  25. package/dest/sample-dapp/contracts.js +4 -4
  26. package/dest/shared/capture_private_execution_steps.d.ts +2 -2
  27. package/dest/shared/capture_private_execution_steps.d.ts.map +1 -1
  28. package/dest/shared/capture_private_execution_steps.js +24 -6
  29. package/dest/shared/cross_chain_test_harness.d.ts +11 -0
  30. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  31. package/dest/shared/cross_chain_test_harness.js +12 -1
  32. package/package.json +32 -32
  33. package/src/bench/client_flows/client_flows_benchmark.ts +331 -0
  34. package/src/bench/client_flows/data_extractor.ts +217 -0
  35. package/src/bench/utils.ts +0 -28
  36. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +1 -25
  37. package/src/e2e_fees/fees_test.ts +1 -11
  38. package/src/e2e_p2p/p2p_network.ts +9 -5
  39. package/src/e2e_p2p/shared.ts +1 -0
  40. package/src/fixtures/snapshot_manager.ts +3 -1
  41. package/src/fixtures/token_utils.ts +22 -2
  42. package/src/sample-dapp/contracts.mjs +4 -4
  43. package/src/shared/capture_private_execution_steps.ts +43 -6
  44. package/src/shared/cross_chain_test_harness.ts +24 -0
@@ -123,7 +123,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
123
123
  await this.applyDeployBananaTokenSnapshot();
124
124
  }
125
125
  async applyInitialAccountsSnapshot() {
126
- await this.snapshotManager.snapshot('initial_accounts', deployAccounts(this.numberOfAccounts, this.logger), async ({ deployedAccounts }, { pxe, aztecNode, aztecNodeConfig, deployL1ContractsValues })=>{
126
+ await this.snapshotManager.snapshot('initial_accounts', deployAccounts(this.numberOfAccounts, this.logger), async ({ deployedAccounts }, { pxe, aztecNode, aztecNodeConfig })=>{
127
127
  this.pxe = pxe;
128
128
  this.aztecNode = aztecNode;
129
129
  this.gasSettings = GasSettings.default({
@@ -139,15 +139,6 @@ const { E2E_DATA_PATH: dataPath } = process.env;
139
139
  const canonicalFeeJuice = await getCanonicalFeeJuice();
140
140
  this.feeJuiceContract = await FeeJuiceContract.at(canonicalFeeJuice.address, this.aliceWallet);
141
141
  this.coinbase = EthAddress.random();
142
- this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
143
- aztecNode,
144
- aztecNodeAdmin: aztecNode,
145
- pxeService: pxe,
146
- publicClient: deployL1ContractsValues.publicClient,
147
- walletClient: deployL1ContractsValues.walletClient,
148
- wallet: this.aliceWallet,
149
- logger: this.logger
150
- });
151
142
  });
152
143
  }
153
144
  async applyPublicDeployAccountsSnapshot() {
@@ -26,6 +26,11 @@ export declare class P2PNetworkTest {
26
26
  attesterPublicKeys: string[];
27
27
  proposerPrivateKeys: `0x${string}`[];
28
28
  peerIdPrivateKeys: string[];
29
+ validators: {
30
+ attester: `0x${string}`;
31
+ proposer: `0x${string}`;
32
+ withdrawer: `0x${string}`;
33
+ }[];
29
34
  deployedAccounts: InitialAccountData[];
30
35
  prefilledPublicData: PublicDataTreeLeaf[];
31
36
  wallet?: AccountWalletWithSecretKey;
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAa9D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAOzC,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,qBAAa,cAAc;IA2BhB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IAC3B,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,WAAW,CAAC;IA/BtB,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAG,YAAY,CAAC;IAEvB,GAAG,EAAG,iBAAiB,CAAC;IACxB,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAClC,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAEjC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;IAE/C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAErC,OAAO,CAAC,eAAe,CAAyC;IAEhE,OAAO,CAAC,QAAQ,CAA6C;gBAG3D,QAAQ,EAAE,MAAM,EACT,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAC7B,sBAAsB,EAAE,eAAe,EAE/B,WAAW,CAAC,oBAAQ;WAmCjB,MAAM,CAAC,EAClB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC1C;IAcD,IAAI,aAAa,uBAKhB;IAED;;OAEG;IACI,+BAA+B;IAMtC;;OAEG;IACU,kBAAkB;IAczB,kBAAkB;IA8FlB,YAAY;IAYZ,kBAAkB;IAoBlB,iBAAiB;IAsBjB,KAAK;IAyBL,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAanC,QAAQ;CAQf"}
1
+ {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAA0B,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAa9D,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAOzC,eAAO,MAAM,mBAAmB,QAA0C,CAAC;AAE3E,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,qBAAa,cAAc;IA4BhB,gBAAgB,EAAE,MAAM;IACxB,YAAY,EAAE,MAAM;IAC3B,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,WAAW,CAAC;IAhCtB,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,WAAW,CAAC;IAEb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAG,YAAY,CAAC;IAEvB,GAAG,EAAG,iBAAiB,CAAC;IACxB,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,kBAAkB,EAAE,MAAM,EAAE,CAAM;IAClC,mBAAmB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAM;IAC1C,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,UAAU,EAAE;QAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,EAAE,CAAM;IAEnG,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,mBAAmB,EAAE,kBAAkB,EAAE,CAAM;IAE/C,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAErC,OAAO,CAAC,eAAe,CAAyC;IAEhE,OAAO,CAAC,QAAQ,CAA6C;gBAG3D,QAAQ,EAAE,MAAM,EACT,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAC7B,sBAAsB,EAAE,eAAe,EAE/B,WAAW,CAAC,oBAAQ;WAmCjB,MAAM,CAAC,EAClB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;KAC1C;IAcD,IAAI,aAAa,uBAKhB;IAED;;OAEG;IACI,+BAA+B;IAMtC;;OAEG;IACU,kBAAkB;IAczB,kBAAkB;IA+FlB,YAAY;IAYZ,kBAAkB;IAoBlB,iBAAiB;IAsBjB,KAAK;IA2BL,SAAS,CAAC,KAAK,EAAE,gBAAgB,EAAE;IAanC,QAAQ;CAQf"}
@@ -12,7 +12,7 @@ import { getContract } from 'viem';
12
12
  import { privateKeyToAccount } from 'viem/accounts';
13
13
  import { ATTESTER_PRIVATE_KEYS_START_INDEX, PROPOSER_PRIVATE_KEYS_START_INDEX, createValidatorConfig, generatePrivateKeys } from '../fixtures/setup_p2p_test.js';
14
14
  import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
15
- import { getPrivateKeyFromIndex } from '../fixtures/utils.js';
15
+ import { getPrivateKeyFromIndex, getSponsoredFPCAddress } from '../fixtures/utils.js';
16
16
  import { getEndToEndTestTelemetryClient } from '../fixtures/with_telemetry_utils.js';
17
17
  // Use a fixed bootstrap node private key so that we can re-use the same snapshot and the nodes can find each other
18
18
  const BOOTSTRAP_NODE_PRIVATE_KEY = '080212208f988fc0899e4a73a5aee4d271a5f20670603a756ad8d84f2c94263a6427c591';
@@ -36,6 +36,7 @@ export class P2PNetworkTest {
36
36
  attesterPublicKeys;
37
37
  proposerPrivateKeys;
38
38
  peerIdPrivateKeys;
39
+ validators;
39
40
  deployedAccounts;
40
41
  prefilledPublicData;
41
42
  // The re-execution test needs a wallet and a spam contract
@@ -54,6 +55,7 @@ export class P2PNetworkTest {
54
55
  this.attesterPublicKeys = [];
55
56
  this.proposerPrivateKeys = [];
56
57
  this.peerIdPrivateKeys = [];
58
+ this.validators = [];
57
59
  this.deployedAccounts = [];
58
60
  this.prefilledPublicData = [];
59
61
  this.cleanupInterval = undefined;
@@ -163,8 +165,9 @@ export class P2PNetworkTest {
163
165
  withdrawer: attester.address,
164
166
  amount: l1ContractsConfig.minimumStake
165
167
  });
166
- this.logger.verbose(`Adding (attester, proposer) pair: (${attester.address}, ${forwarder}) as validator`);
168
+ this.logger.info(`Adding attester ${attester.address} proposer ${forwarder} as validator`);
167
169
  }
170
+ this.validators = validators;
168
171
  await deployL1ContractsValues.publicClient.waitForTransactionReceipt({
169
172
  hash: await rollup.write.cheat__InitialiseValidatorSet([
170
173
  validators
@@ -235,7 +238,13 @@ export class P2PNetworkTest {
235
238
  }
236
239
  async setup() {
237
240
  this.ctx = await this.snapshotManager.setup();
238
- this.prefilledPublicData = (await getGenesisValues(this.ctx.initialFundedAccounts.map((a)=>a.address))).prefilledPublicData;
241
+ const sponsoredFPCAddress = await getSponsoredFPCAddress();
242
+ const initialFundedAccounts = [
243
+ ...this.ctx.initialFundedAccounts.map((a)=>a.address),
244
+ sponsoredFPCAddress
245
+ ];
246
+ const { prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
247
+ this.prefilledPublicData = prefilledPublicData;
239
248
  this.startSyncMockSystemTimeInterval();
240
249
  this.gasUtils = new L1TxUtilsWithBlobs(this.ctx.deployL1ContractsValues.publicClient, this.ctx.deployL1ContractsValues.walletClient, this.logger, {
241
250
  gasLimitBufferPercentage: 20,
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,kBAAkB,WACrB,MAAM,gBACA,YAAY,UAClB,MAAM,SACR;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,sBAwB/B,CAAC;AAGF,eAAO,MAAM,qCAAqC,WACxC,MAAM,QACR,gBAAgB,UACd,MAAM,iBACC,kBAAkB,KAChC,QAAQ,WAAW,CAmBrB,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,eAAO,MAAM,kBAAkB,WACrB,MAAM,gBACA,YAAY,UAClB,MAAM,SACR;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,sBAwB/B,CAAC;AAGF,eAAO,MAAM,qCAAqC,WACxC,MAAM,QACR,gBAAgB,UACd,MAAM,iBACC,kBAAkB,KAChC,QAAQ,WAAW,CAoBrB,CAAC"}
@@ -26,6 +26,7 @@ export const submitComplexTxsTo = async (logger, spamContract, numTxs, opts = {}
26
26
  // creates an instance of the PXE and submit a given number of transactions to it.
27
27
  export const createPXEServiceAndSubmitTransactions = async (logger, node, numTxs, fundedAccount)=>{
28
28
  const rpcConfig = getRpcConfig();
29
+ rpcConfig.proverEnabled = false;
29
30
  const pxeService = await createPXEService(node, rpcConfig, true);
30
31
  const account = await getSchnorrAccount(pxeService, fundedAccount.secret, fundedAccount.signingKey, fundedAccount.salt);
31
32
  await account.register();
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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"}
@@ -219,6 +219,7 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
219
219
  aztecNodeConfig.peerCheckIntervalMS = TEST_PEER_CHECK_INTERVAL_MS;
220
220
  // Only enable proving if specifically requested.
221
221
  aztecNodeConfig.realProofs = !!opts.realProofs;
222
+ aztecNodeConfig.listenAddress = '127.0.0.1';
222
223
  // Create a temp directory for all ephemeral state and cleanup afterwards
223
224
  const directoryToCleanup = path.join(tmpdir(), randomBytes(8).toString('hex'));
224
225
  await fs.mkdir(directoryToCleanup, {
@@ -229,7 +230,7 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
229
230
  } else {
230
231
  aztecNodeConfig.dataDirectory = statePath;
231
232
  }
232
- aztecNodeConfig.blobSinkUrl = `http://localhost:${blobSinkPort}`;
233
+ aztecNodeConfig.blobSinkUrl = `http://127.0.0.1:${blobSinkPort}`;
233
234
  // Start anvil. We go via a wrapper script to ensure if the parent dies, anvil dies.
234
235
  logger.verbose('Starting anvil...');
235
236
  const res = await startAnvil({
@@ -368,6 +369,7 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
368
369
  const aztecNodeConfig = JSON.parse(readFileSync(`${statePath}/aztec_node_config.json`, 'utf-8'), reviver);
369
370
  aztecNodeConfig.dataDirectory = statePath;
370
371
  aztecNodeConfig.blobSinkUrl = `http://127.0.0.1:${blobSinkPort}`;
372
+ aztecNodeConfig.listenAddress = '127.0.0.1';
371
373
  const initialFundedAccounts = JSON.parse(readFileSync(`${statePath}/accounts.json`, 'utf-8'), reviver) || [];
372
374
  const { prefilledPublicData } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address));
373
375
  // Start anvil. We go via a wrapper script to ensure if the parent dies, anvil dies.
@@ -1,6 +1,7 @@
1
- import type { AztecAddress, Logger, Wallet } from '@aztec/aztec.js';
1
+ import { type AztecAddress, type Logger, type Wallet } from '@aztec/aztec.js';
2
2
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
3
3
  export declare function deployToken(adminWallet: Wallet, initialAdminBalance: bigint, logger: Logger): Promise<TokenContract>;
4
4
  export declare function mintTokensToPrivate(token: TokenContract, minterWallet: Wallet, recipient: AztecAddress, amount: bigint): Promise<void>;
5
5
  export declare function expectTokenBalance(wallet: Wallet, token: TokenContract, owner: AztecAddress, expectedBalance: bigint, logger: Logger): Promise<void>;
6
+ export declare function mintNotes(sender: Wallet, recipient: AztecAddress, asset: TokenContract, noteAmounts: bigint[]): Promise<bigint>;
6
7
  //# sourceMappingURL=token_utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0BAcjG;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,iBAKf;AAGD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAOf"}
1
+ {"version":3,"file":"token_utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/token_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAa,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0BAcjG;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,iBAKf;AAGD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,iBAOf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -1,5 +1,6 @@
1
- // docs:start:token_utils
1
+ import { BatchCall } from '@aztec/aztec.js';
2
2
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
3
+ // docs:start:token_utils
3
4
  export async function deployToken(adminWallet, initialAdminBalance, logger) {
4
5
  logger.info(`Deploying Token contract...`);
5
6
  const contract = await TokenContract.deploy(adminWallet, adminWallet.getAddress(), 'TokenName', 'TokenSymbol', 18).send().deployed();
@@ -25,3 +26,15 @@ export async function expectTokenBalance(wallet, token, owner, expectedBalance,
25
26
  logger.info(`Account ${owner} balance: ${balance}`);
26
27
  expect(balance).toBe(expectedBalance);
27
28
  }
29
+ export async function mintNotes(sender, recipient, asset, noteAmounts) {
30
+ // We can only mint 4 notes at a time, since that's the maximum number of calls our entrypoints allow
31
+ // TODO(#13024): mint as many notes as possible in a single tx
32
+ const notesPerIteration = 4;
33
+ for(let mintedNotes = 0; mintedNotes < noteAmounts.length; mintedNotes += notesPerIteration){
34
+ const toMint = noteAmounts.slice(mintedNotes, mintedNotes + notesPerIteration);
35
+ const from = sender.getAddress(); // we are setting from to sender here because we need a sender to calculate the tag
36
+ const actions = toMint.map((amt)=>asset.methods.mint_to_private(from, recipient, amt));
37
+ await new BatchCall(sender, actions).send().wait();
38
+ }
39
+ return noteAmounts.reduce((prev, curr)=>prev + curr, 0n);
40
+ }
@@ -1,10 +1,10 @@
1
- // docs:start:imports
2
- import { AztecAddress } from '@aztec/aztec.js';
1
+ import { AztecAddress, Contract } from '@aztec/aztec.js';
3
2
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
4
3
  import { readFileSync } from 'fs';
5
- // docs:end:imports
4
+ // This syntax is helpful for the referencing tutorial
5
+ const TokenContractArtifact = TokenContract.artifact;
6
6
  // docs:start:get-tokens
7
7
  export async function getToken(wallet) {
8
8
  const addresses = JSON.parse(readFileSync('addresses.json'));
9
- return TokenContract.at(AztecAddress.fromString(addresses.token), wallet);
9
+ return Contract.at(AztecAddress.fromString(addresses.token), TokenContractArtifact, wallet);
10
10
  } // docs:end:get-tokens
@@ -2,6 +2,6 @@
2
2
  * This module exposes the ability to capture the private exection steps that go into our "Client IVC" prover.
3
3
  * These are used for debugging and benchmarking barretenberg (the prover component).
4
4
  */
5
- import type { ContractFunctionInteraction } from '@aztec/aztec.js/contracts';
6
- export declare function capturePrivateExecutionStepsIfEnvSet(label: string, interaction: ContractFunctionInteraction): Promise<void>;
5
+ import type { ContractFunctionInteraction, DeployMethod, DeployOptions, ProfileMethodOptions } from '@aztec/aztec.js/contracts';
6
+ export declare function capturePrivateExecutionStepsIfEnvSet(label: string, interaction: ContractFunctionInteraction | DeployMethod, opts?: Omit<ProfileMethodOptions & DeployOptions, 'profileMode'>, expectedSteps?: number): Promise<void>;
7
7
  //# sourceMappingURL=capture_private_execution_steps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture_private_execution_steps.d.ts","sourceRoot":"","sources":["../../src/shared/capture_private_execution_steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AA0B7E,wBAAsB,oCAAoC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,iBAYjH"}
1
+ {"version":3,"file":"capture_private_execution_steps.d.ts","sourceRoot":"","sources":["../../src/shared/capture_private_execution_steps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,2BAA2B,EAC3B,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAoCnC,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,2BAA2B,GAAG,YAAY,EACvD,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,GAAG,aAAa,EAAE,aAAa,CAAC,EAChE,aAAa,CAAC,EAAE,MAAM,iBA8BvB"}
@@ -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.
@@ -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.
@@ -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
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.20250330",
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.20250330",
30
+ "@aztec/archiver": "0.82.3-nightly.20250330",
31
+ "@aztec/aztec": "0.82.3-nightly.20250330",
32
+ "@aztec/aztec-node": "0.82.3-nightly.20250330",
33
+ "@aztec/aztec.js": "0.82.3-nightly.20250330",
34
+ "@aztec/bb-prover": "0.82.3-nightly.20250330",
35
+ "@aztec/blob-lib": "0.82.3-nightly.20250330",
36
+ "@aztec/blob-sink": "0.82.3-nightly.20250330",
37
+ "@aztec/bot": "0.82.3-nightly.20250330",
38
+ "@aztec/constants": "0.82.3-nightly.20250330",
39
+ "@aztec/entrypoints": "0.82.3-nightly.20250330",
40
+ "@aztec/epoch-cache": "0.82.3-nightly.20250330",
41
+ "@aztec/ethereum": "0.82.3-nightly.20250330",
42
+ "@aztec/foundation": "0.82.3-nightly.20250330",
43
+ "@aztec/kv-store": "0.82.3-nightly.20250330",
44
+ "@aztec/l1-artifacts": "0.82.3-nightly.20250330",
45
+ "@aztec/merkle-tree": "0.82.3-nightly.20250330",
46
+ "@aztec/noir-contracts.js": "0.82.3-nightly.20250330",
47
+ "@aztec/noir-noirc_abi": "0.82.3-nightly.20250330",
48
+ "@aztec/noir-protocol-circuits-types": "0.82.3-nightly.20250330",
49
+ "@aztec/p2p": "0.82.3-nightly.20250330",
50
+ "@aztec/protocol-contracts": "0.82.3-nightly.20250330",
51
+ "@aztec/prover-client": "0.82.3-nightly.20250330",
52
+ "@aztec/prover-node": "0.82.3-nightly.20250330",
53
+ "@aztec/pxe": "0.82.3-nightly.20250330",
54
+ "@aztec/sequencer-client": "0.82.3-nightly.20250330",
55
+ "@aztec/simulator": "0.82.3-nightly.20250330",
56
+ "@aztec/stdlib": "0.82.3-nightly.20250330",
57
+ "@aztec/telemetry-client": "0.82.3-nightly.20250330",
58
+ "@aztec/validator-client": "0.82.3-nightly.20250330",
59
+ "@aztec/world-state": "0.82.3-nightly.20250330",
60
60
  "@iarna/toml": "^2.2.5",
61
61
  "@jest/globals": "^29.5.0",
62
62
  "@msgpack/msgpack": "^3.0.0-beta2",