@aztec/end-to-end 3.0.0-nightly.20251001 → 3.0.0-nightly.20251002

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.
@@ -1,4 +1,4 @@
1
- import { AztecAddress, type AztecNode, FeeJuicePaymentMethod, FeeJuicePaymentMethodWithClaim, type FeePaymentMethod, type Logger, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, type Wallet } from '@aztec/aztec.js';
1
+ import { type AppConfigurableFeePaymentMethod, AztecAddress, type AztecNode, FeeJuicePaymentMethodWithClaim, type Logger, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, type Wallet } from '@aztec/aztec.js';
2
2
  import { CheatCodes } from '@aztec/aztec/testing';
3
3
  import { type DeployL1ContractsArgs } from '@aztec/ethereum';
4
4
  import { ChainMonitor } from '@aztec/ethereum/test';
@@ -15,7 +15,7 @@ import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js'
15
15
  import { type GasBridgingTestHarness } from '../../shared/gas_portal_test_harness.js';
16
16
  import { type ClientFlowsConfig } from './config.js';
17
17
  export type AccountType = 'ecdsar1' | 'schnorr';
18
- export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod>;
18
+ export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<AppConfigurableFeePaymentMethod | undefined>;
19
19
  export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
20
20
  export declare class ClientFlowsBenchmark {
21
21
  private snapshotManager;
@@ -64,6 +64,5 @@ export declare class ClientFlowsBenchmark {
64
64
  getBridgedFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress): Promise<FeeJuicePaymentMethodWithClaim>;
65
65
  getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress): Promise<PrivateFeePaymentMethod>;
66
66
  getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet, _sender: AztecAddress): Promise<SponsoredFeePaymentMethod>;
67
- getFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress): Promise<FeeJuicePaymentMethod>;
68
67
  }
69
68
  //# sourceMappingURL=client_flows_benchmark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { FeeJuicePaymentMethod, FeeJuicePaymentMethodWithClaim, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, createLogger } from '@aztec/aztec.js';
1
+ import { AztecAddress, FeeJuicePaymentMethodWithClaim, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, createLogger } from '@aztec/aztec.js';
2
2
  import { RollupContract, createExtendedL1Client, deployL1Contract } from '@aztec/ethereum';
3
3
  import { ChainMonitor } from '@aztec/ethereum/test';
4
4
  import { randomBytes } from '@aztec/foundation/crypto';
@@ -14,6 +14,7 @@ import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contract
14
14
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
15
15
  import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
16
16
  import { getPXEConfig } from '@aztec/pxe/server';
17
+ import { GasSettings } from '@aztec/stdlib/gas';
17
18
  import { deriveSigningKey } from '@aztec/stdlib/keys';
18
19
  import { TestWallet } from '@aztec/test-wallet/server';
19
20
  import { MNEMONIC } from '../../fixtures/fixtures.js';
@@ -79,7 +80,7 @@ export class ClientFlowsBenchmark {
79
80
  },
80
81
  // eslint-disable-next-line camelcase
81
82
  fee_juice: {
82
- forWallet: this.getFeeJuicePaymentMethodForWallet.bind(this),
83
+ forWallet: ()=>Promise.resolve(undefined),
83
84
  circuits: 0
84
85
  }
85
86
  };
@@ -250,12 +251,13 @@ export class ClientFlowsBenchmark {
250
251
  async createAndFundBenchmarkingAccountOnUserWallet(accountType) {
251
252
  const benchysAccountManager = await this.createBenchmarkingAccountManager(this.adminWallet, accountType);
252
253
  const benchysAccount = await benchysAccountManager.getAccount();
253
- const benchysAddress = benchysAccountManager.getAddress();
254
+ const benchysAddress = benchysAccountManager.address;
254
255
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
255
- const paymentMethod = new FeeJuicePaymentMethodWithClaim(benchysAddress, claim);
256
- await benchysAccountManager.deploy({
256
+ const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
257
+ await behchysDeployMethod.send({
258
+ from: AztecAddress.ZERO,
257
259
  fee: {
258
- paymentMethod
260
+ paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim)
259
261
  }
260
262
  }).wait();
261
263
  // Register benchy on the user's Wallet, where we're going to be interacting from
@@ -264,7 +266,7 @@ export class ClientFlowsBenchmark {
264
266
  salt: new Fr(benchysAccount.salt),
265
267
  contract: benchysAccountManager.getAccountContract()
266
268
  });
267
- return accountManager.getAddress();
269
+ return accountManager.address;
268
270
  }
269
271
  async applyDeployAmmSnapshot() {
270
272
  await this.snapshotManager.snapshot('deploy_amm', async ()=>{
@@ -291,13 +293,16 @@ export class ClientFlowsBenchmark {
291
293
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(sender);
292
294
  return new FeeJuicePaymentMethodWithClaim(sender, claim);
293
295
  }
294
- getPrivateFPCPaymentMethodForWallet(wallet, sender) {
295
- return Promise.resolve(new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet));
296
+ async getPrivateFPCPaymentMethodForWallet(wallet, sender) {
297
+ // The private fee paying method assembled on the app side requires knowledge of the maximum
298
+ // fee the user is willing to pay
299
+ const maxFeesPerGas = (await this.aztecNode.getCurrentBaseFees()).mul(1.5);
300
+ const gasSettings = GasSettings.default({
301
+ maxFeesPerGas
302
+ });
303
+ return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
296
304
  }
297
305
  getSponsoredFPCPaymentMethodForWallet(_wallet, _sender) {
298
306
  return Promise.resolve(new SponsoredFeePaymentMethod(this.sponsoredFPC.address));
299
307
  }
300
- getFeeJuicePaymentMethodForWallet(_wallet, sender) {
301
- return Promise.resolve(new FeeJuicePaymentMethod(sender));
302
- }
303
308
  }
@@ -35,7 +35,7 @@ describe('e2e_fees bridging_race', ()=>{
35
35
  salt: bobsSalt,
36
36
  contract: new SchnorrAccountContract(bobsPrivateSigningKey)
37
37
  });
38
- bobsAddress = bobsAccountManager.getAddress();
38
+ bobsAddress = bobsAccountManager.address;
39
39
  });
40
40
  it('Alice bridges funds to Bob', async ()=>{
41
41
  // Tweak the token manager so the bridging happens immediately before the end of the current L2 slot
@@ -1 +1 @@
1
- {"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
2
1
  import { createLogger, sleep } from '@aztec/aztec.js';
3
2
  import { RollupContract, createExtendedL1Client } from '@aztec/ethereum';
4
3
  import { ChainMonitor } from '@aztec/ethereum/test';
@@ -144,15 +143,6 @@ const { E2E_DATA_PATH: dataPath } = process.env;
144
143
  this.accounts = deployedAccounts.map((a)=>a.address);
145
144
  this.accounts.forEach((a, i)=>this.logger.verbose(`Account ${i} address: ${a}`));
146
145
  [this.aliceAddress, this.bobAddress, this.sequencerAddress] = this.accounts.slice(0, 3);
147
- await Promise.all(deployedAccounts.map(async (acc)=>{
148
- const accountData = {
149
- secret: acc.secret,
150
- salt: acc.salt,
151
- contract: new SchnorrAccountContract(acc.signingKey)
152
- };
153
- const accountManager = await this.wallet.createAccount(accountData);
154
- return accountManager.register();
155
- }));
156
146
  // We set Alice as the FPC admin to avoid the need for deployment of another account.
157
147
  this.fpcAdmin = this.aliceAddress;
158
148
  const canonicalFeeJuice = await getCanonicalFeeJuice();
@@ -38,7 +38,7 @@ export const submitTransactions = async (logger, node, numTxs, fundedAccount)=>{
38
38
  useLogSuffix: true
39
39
  });
40
40
  const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
41
- return submitTxsTo(wallet, fundedAccountManager.getAddress(), numTxs, logger);
41
+ return submitTxsTo(wallet, fundedAccountManager.address, numTxs, logger);
42
42
  };
43
43
  export async function prepareTransactions(logger, node, numTxs, fundedAccount) {
44
44
  const rpcConfig = getRpcConfig();
@@ -57,7 +57,7 @@ export async function prepareTransactions(logger, node, numTxs, fundedAccount) {
57
57
  const contract = await TestContract.at(testContractInstance.address, wallet);
58
58
  return timesAsync(numTxs, async ()=>{
59
59
  const tx = await contract.methods.emit_nullifier(Fr.random()).prove({
60
- from: fundedAccountManager.getAddress()
60
+ from: fundedAccountManager.address
61
61
  });
62
62
  const txHash = tx.getTxHash();
63
63
  logger.info(`Tx prepared with hash ${txHash}`);
@@ -1,6 +1,6 @@
1
1
  import { type InitialAccountData } from '@aztec/accounts/testing';
2
2
  import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
- import { type AztecAddress, type AztecNode, type Logger, type Wallet } from '@aztec/aztec.js';
3
+ import { AztecAddress, type AztecNode, type Logger, type Wallet } from '@aztec/aztec.js';
4
4
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
5
5
  import { type BlobSinkServer } from '@aztec/blob-sink/server';
6
6
  import { type DeployL1ContractsArgs, type DeployL1ContractsReturnType } from '@aztec/ethereum';
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
2
2
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
3
3
  import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
4
- import { BatchCall, EthAddress, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js';
4
+ import { AztecAddress, BatchCall, EthAddress, getContractClassFromArtifact, waitForProven } from '@aztec/aztec.js';
5
5
  import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
6
6
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
7
7
  import { createBlobSinkServer } from '@aztec/blob-sink/server';
@@ -463,7 +463,9 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
463
463
  // Serial due to https://github.com/AztecProtocol/aztec-packages/issues/12045
464
464
  for(let i = 0; i < deployedAccounts.length; i++){
465
465
  const accountManager = await wallet.createSchnorrAccount(deployedAccounts[i].secret, deployedAccounts[i].salt, deployedAccounts[i].signingKey);
466
- await accountManager.deploy({
466
+ const deployMethod = await accountManager.getDeployMethod();
467
+ await deployMethod.send({
468
+ from: AztecAddress.ZERO,
467
469
  skipClassPublication: i !== 0
468
470
  }).wait();
469
471
  }
@@ -26,9 +26,9 @@ export async function expectTokenBalance(wallet, token, owner, expectedBalance,
26
26
  expect(balance).toBe(expectedBalance);
27
27
  }
28
28
  export async function mintNotes(wallet, minter, recipient, asset, noteAmounts) {
29
- // We can only mint 4 notes at a time, since that's the maximum number of calls our entrypoints allow
29
+ // We can only mint 5 notes at a time, since that's the maximum number of calls our entrypoints allow
30
30
  // TODO(#13024): mint as many notes as possible in a single tx
31
- const notesPerIteration = 4;
31
+ const notesPerIteration = 5;
32
32
  for(let mintedNotes = 0; mintedNotes < noteAmounts.length; mintedNotes += notesPerIteration){
33
33
  const toMint = noteAmounts.slice(mintedNotes, mintedNotes + notesPerIteration);
34
34
  const actions = toMint.map((amt)=>asset.methods.mint_to_private(recipient, amt));
@@ -145,7 +145,7 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
145
145
  }
146
146
  const testAccounts = await Promise.all(initialFundedAccounts.slice(0, numberOfAccounts).map(async (account)=>{
147
147
  const accountManager = await wallet.createSchnorrAccount(account.secret, account.salt, account.signingKey);
148
- return accountManager.getAddress();
148
+ return accountManager.address;
149
149
  }));
150
150
  return {
151
151
  aztecNode,
@@ -415,8 +415,8 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
415
415
  } else {
416
416
  logger.info(`${numberOfAccounts} accounts are being deployed. Reliably progressing past genesis by setting minTxsPerBlock to 1 and waiting for the accounts to be deployed`);
417
417
  const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
418
- const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
419
- accounts = accountManagers.map((accountManager)=>accountManager.getAddress());
418
+ const accountManagers = await deployFundedSchnorrAccounts(wallet, aztecNode, accountsData);
419
+ accounts = accountManagers.map((accountManager)=>accountManager.address);
420
420
  }
421
421
  // Now we restore the original minTxsPerBlock setting.
422
422
  sequencerClient.getSequencer().updateConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAEvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,GACtB,QAAQ,UAAU,EAClB,WAAW,YAAY,EACvB,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,EAAE,CAqBlB,CAAC"}
1
+ {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAsB,KAAK,MAAM,EAAE,KAAK,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAEvG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,GACtB,QAAQ,UAAU,EAClB,WAAW,YAAY,EACvB,QAAQ,MAAM,EACd,QAAQ,MAAM,KACb,OAAO,CAAC,MAAM,EAAE,CAsBlB,CAAC"}
@@ -5,8 +5,9 @@ export const submitTxsTo = async (wallet, submitter, numTxs, logger)=>{
5
5
  const txs = [];
6
6
  await Promise.all(times(numTxs, async ()=>{
7
7
  const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
8
- const tx = accountManager.deploy({
9
- deployAccount: submitter
8
+ const deployMethod = await accountManager.getDeployMethod();
9
+ const tx = deployMethod.send({
10
+ from: submitter
10
11
  });
11
12
  const txHash = await tx.getTxHash();
12
13
  logger.info(`Tx sent with hash ${txHash}`);
@@ -88,7 +88,7 @@ export class TokenSimulator {
88
88
  this.token.methods.total_supply(),
89
89
  ...this.accounts.map((address)=>this.token.methods.balance_of_public(address))
90
90
  ];
91
- const results = (await Promise.all(chunk(calls, 4).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
91
+ const results = (await Promise.all(chunk(calls, 5).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
92
92
  from: this.defaultAddress
93
93
  })))).flat();
94
94
  expect(results[0]).toEqual(this.totalSupply);
@@ -1,4 +1,4 @@
1
- import { type AztecAddress, type AztecNode, type FeePaymentMethod } from '@aztec/aztec.js';
1
+ import { type AppConfigurableFeePaymentMethod, AztecAddress, type AztecNode } from '@aztec/aztec.js';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
4
4
  import { TestWallet } from '@aztec/test-wallet/server';
@@ -20,7 +20,7 @@ export declare function performTransfers({ testAccounts, rounds, transferAmount,
20
20
  rounds: number;
21
21
  transferAmount: bigint;
22
22
  logger: Logger;
23
- feePaymentMethod?: FeePaymentMethod;
23
+ feePaymentMethod?: AppConfigurableFeePaymentMethod;
24
24
  }): Promise<void>;
25
25
  export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<{
26
26
  wallet: TestWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,gBAAgB,EAOtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAqCvB;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAgDvB;AA6ED,wBAAsB,gBAAgB,CAAC,EACrC,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAiBA;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAqBrF"}
1
+ {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,+BAA+B,EACpC,YAAY,EACZ,KAAK,SAAS,EAQf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AA6ED,wBAAsB,gBAAgB,CAAC,EACrC,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,+BAA+B,CAAC;CACpD,iBAiBA;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAqBrF"}
@@ -1,5 +1,5 @@
1
1
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
2
- import { FeeJuicePaymentMethodWithClaim, Fr, L1FeeJuicePortalManager, SponsoredFeePaymentMethod, createAztecNodeClient, retryUntil } from '@aztec/aztec.js';
2
+ import { AztecAddress, FeeJuicePaymentMethodWithClaim, Fr, L1FeeJuicePortalManager, SponsoredFeePaymentMethod, createAztecNodeClient, retryUntil } from '@aztec/aztec.js';
3
3
  import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
4
4
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
5
5
  import { registerInitialSandboxAccountsInWallet } from '@aztec/test-wallet';
@@ -35,7 +35,9 @@ export async function deploySponsoredTestAccounts(wallet, aztecNode, mintAmount,
35
35
  const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
36
36
  await registerSponsoredFPC(wallet);
37
37
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
38
- await recipientAccount.deploy({
38
+ const recipientDeployMethod = await recipientAccount.getDeployMethod();
39
+ await recipientDeployMethod.send({
40
+ from: AztecAddress.ZERO,
39
41
  fee: {
40
42
  paymentMethod
41
43
  }
@@ -43,27 +45,29 @@ export async function deploySponsoredTestAccounts(wallet, aztecNode, mintAmount,
43
45
  timeout: 2400
44
46
  });
45
47
  await Promise.all(fundedAccounts.map(async (a)=>{
46
- await a.deploy({
48
+ const deployMethod = await a.getDeployMethod();
49
+ await deployMethod.send({
50
+ from: AztecAddress.ZERO,
47
51
  fee: {
48
52
  paymentMethod
49
53
  }
50
54
  }).wait({
51
55
  timeout: 2400
52
56
  }); // increase timeout on purpose in order to account for two empty epochs
53
- logger.info(`Account deployed at ${a.getAddress()}`);
57
+ logger.info(`Account deployed at ${a.address}`);
54
58
  }));
55
59
  const tokenAdmin = fundedAccounts[0];
56
- const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.getAddress()), tokenAdmin.getAddress(), mintAmount, new SponsoredFeePaymentMethod(await getSponsoredFPCAddress()), logger);
60
+ const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.address), tokenAdmin.address, mintAmount, new SponsoredFeePaymentMethod(await getSponsoredFPCAddress()), logger);
57
61
  const tokenContract = await TokenContract.at(tokenAddress, wallet);
58
62
  return {
59
63
  aztecNode,
60
64
  wallet,
61
- accounts: fundedAccounts.map((acc)=>acc.getAddress()),
62
- tokenAdminAddress: tokenAdmin.getAddress(),
65
+ accounts: fundedAccounts.map((acc)=>acc.address),
66
+ tokenAdminAddress: tokenAdmin.address,
63
67
  tokenName: TOKEN_NAME,
64
68
  tokenAddress,
65
69
  tokenContract,
66
- recipientAddress: recipientAccount.getAddress()
70
+ recipientAddress: recipientAccount.address
67
71
  };
68
72
  }
69
73
  export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicOrPrivateKey, mintAmount, logger, numberOfFundedWallets = 1) {
@@ -72,32 +76,34 @@ export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicO
72
76
  const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
73
77
  const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
74
78
  const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
75
- const claims = await Promise.all(fundedAccounts.map((a)=>bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.getAddress(), undefined, logger)));
79
+ const claims = await Promise.all(fundedAccounts.map((a)=>bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.address, undefined, logger)));
76
80
  // Progress by 3 L2 blocks so that the l1ToL2Message added above will be available to use on L2.
77
81
  await advanceL2Block(aztecNode);
78
82
  await advanceL2Block(aztecNode);
79
83
  await advanceL2Block(aztecNode);
80
84
  await Promise.all(fundedAccounts.map(async (a, i)=>{
81
- const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.getAddress(), claims[i]);
82
- await a.deploy({
85
+ const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.address, claims[i]);
86
+ const deployMethod = await a.getDeployMethod();
87
+ await deployMethod.send({
88
+ from: AztecAddress.ZERO,
83
89
  fee: {
84
90
  paymentMethod
85
91
  }
86
92
  }).wait();
87
- logger.info(`Account deployed at ${a.getAddress()}`);
93
+ logger.info(`Account deployed at ${a.address}`);
88
94
  }));
89
95
  const tokenAdmin = fundedAccounts[0];
90
- const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.getAddress()), tokenAdmin.getAddress(), mintAmount, undefined, logger);
96
+ const tokenAddress = await deployTokenAndMint(wallet, fundedAccounts.map((acc)=>acc.address), tokenAdmin.address, mintAmount, undefined, logger);
91
97
  const tokenContract = await TokenContract.at(tokenAddress, wallet);
92
98
  return {
93
99
  aztecNode,
94
100
  wallet,
95
- accounts: fundedAccounts.map((acc)=>acc.getAddress()),
96
- tokenAdminAddress: tokenAdmin.getAddress(),
101
+ accounts: fundedAccounts.map((acc)=>acc.address),
102
+ tokenAdminAddress: tokenAdmin.address,
97
103
  tokenName: TOKEN_NAME,
98
104
  tokenAddress,
99
105
  tokenContract,
100
- recipientAddress: recipientAccount.getAddress()
106
+ recipientAddress: recipientAccount.address
101
107
  };
102
108
  }
103
109
  async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, recipient, amount, log) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "3.0.0-nightly.20251001",
3
+ "version": "3.0.0-nightly.20251002",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -25,42 +25,42 @@
25
25
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
26
26
  },
27
27
  "dependencies": {
28
- "@aztec/accounts": "3.0.0-nightly.20251001",
29
- "@aztec/archiver": "3.0.0-nightly.20251001",
30
- "@aztec/aztec": "3.0.0-nightly.20251001",
31
- "@aztec/aztec-node": "3.0.0-nightly.20251001",
32
- "@aztec/aztec.js": "3.0.0-nightly.20251001",
33
- "@aztec/bb-prover": "3.0.0-nightly.20251001",
34
- "@aztec/blob-lib": "3.0.0-nightly.20251001",
35
- "@aztec/blob-sink": "3.0.0-nightly.20251001",
36
- "@aztec/bot": "3.0.0-nightly.20251001",
37
- "@aztec/cli": "3.0.0-nightly.20251001",
38
- "@aztec/constants": "3.0.0-nightly.20251001",
39
- "@aztec/entrypoints": "3.0.0-nightly.20251001",
40
- "@aztec/epoch-cache": "3.0.0-nightly.20251001",
41
- "@aztec/ethereum": "3.0.0-nightly.20251001",
42
- "@aztec/foundation": "3.0.0-nightly.20251001",
43
- "@aztec/kv-store": "3.0.0-nightly.20251001",
44
- "@aztec/l1-artifacts": "3.0.0-nightly.20251001",
45
- "@aztec/merkle-tree": "3.0.0-nightly.20251001",
46
- "@aztec/node-keystore": "3.0.0-nightly.20251001",
47
- "@aztec/noir-contracts.js": "3.0.0-nightly.20251001",
48
- "@aztec/noir-noirc_abi": "3.0.0-nightly.20251001",
49
- "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251001",
50
- "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251001",
51
- "@aztec/p2p": "3.0.0-nightly.20251001",
52
- "@aztec/protocol-contracts": "3.0.0-nightly.20251001",
53
- "@aztec/prover-client": "3.0.0-nightly.20251001",
54
- "@aztec/prover-node": "3.0.0-nightly.20251001",
55
- "@aztec/pxe": "3.0.0-nightly.20251001",
56
- "@aztec/sequencer-client": "3.0.0-nightly.20251001",
57
- "@aztec/simulator": "3.0.0-nightly.20251001",
58
- "@aztec/slasher": "3.0.0-nightly.20251001",
59
- "@aztec/stdlib": "3.0.0-nightly.20251001",
60
- "@aztec/telemetry-client": "3.0.0-nightly.20251001",
61
- "@aztec/test-wallet": "3.0.0-nightly.20251001",
62
- "@aztec/validator-client": "3.0.0-nightly.20251001",
63
- "@aztec/world-state": "3.0.0-nightly.20251001",
28
+ "@aztec/accounts": "3.0.0-nightly.20251002",
29
+ "@aztec/archiver": "3.0.0-nightly.20251002",
30
+ "@aztec/aztec": "3.0.0-nightly.20251002",
31
+ "@aztec/aztec-node": "3.0.0-nightly.20251002",
32
+ "@aztec/aztec.js": "3.0.0-nightly.20251002",
33
+ "@aztec/bb-prover": "3.0.0-nightly.20251002",
34
+ "@aztec/blob-lib": "3.0.0-nightly.20251002",
35
+ "@aztec/blob-sink": "3.0.0-nightly.20251002",
36
+ "@aztec/bot": "3.0.0-nightly.20251002",
37
+ "@aztec/cli": "3.0.0-nightly.20251002",
38
+ "@aztec/constants": "3.0.0-nightly.20251002",
39
+ "@aztec/entrypoints": "3.0.0-nightly.20251002",
40
+ "@aztec/epoch-cache": "3.0.0-nightly.20251002",
41
+ "@aztec/ethereum": "3.0.0-nightly.20251002",
42
+ "@aztec/foundation": "3.0.0-nightly.20251002",
43
+ "@aztec/kv-store": "3.0.0-nightly.20251002",
44
+ "@aztec/l1-artifacts": "3.0.0-nightly.20251002",
45
+ "@aztec/merkle-tree": "3.0.0-nightly.20251002",
46
+ "@aztec/node-keystore": "3.0.0-nightly.20251002",
47
+ "@aztec/noir-contracts.js": "3.0.0-nightly.20251002",
48
+ "@aztec/noir-noirc_abi": "3.0.0-nightly.20251002",
49
+ "@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251002",
50
+ "@aztec/noir-test-contracts.js": "3.0.0-nightly.20251002",
51
+ "@aztec/p2p": "3.0.0-nightly.20251002",
52
+ "@aztec/protocol-contracts": "3.0.0-nightly.20251002",
53
+ "@aztec/prover-client": "3.0.0-nightly.20251002",
54
+ "@aztec/prover-node": "3.0.0-nightly.20251002",
55
+ "@aztec/pxe": "3.0.0-nightly.20251002",
56
+ "@aztec/sequencer-client": "3.0.0-nightly.20251002",
57
+ "@aztec/simulator": "3.0.0-nightly.20251002",
58
+ "@aztec/slasher": "3.0.0-nightly.20251002",
59
+ "@aztec/stdlib": "3.0.0-nightly.20251002",
60
+ "@aztec/telemetry-client": "3.0.0-nightly.20251002",
61
+ "@aztec/test-wallet": "3.0.0-nightly.20251002",
62
+ "@aztec/validator-client": "3.0.0-nightly.20251002",
63
+ "@aztec/world-state": "3.0.0-nightly.20251002",
64
64
  "@iarna/toml": "^2.2.5",
65
65
  "@jest/globals": "^30.0.0",
66
66
  "@noble/curves": "=1.0.0",
@@ -92,7 +92,7 @@
92
92
  "snappy": "^7.2.2",
93
93
  "stream-browserify": "^3.0.0",
94
94
  "string-argv": "^0.3.2",
95
- "ts-loader": "^9.4.4",
95
+ "ts-loader": "^9.5.4",
96
96
  "ts-node": "^10.9.1",
97
97
  "tslib": "^2.4.0",
98
98
  "typescript": "^5.3.3",
@@ -1,9 +1,8 @@
1
1
  import {
2
+ type AppConfigurableFeePaymentMethod,
2
3
  AztecAddress,
3
4
  type AztecNode,
4
- FeeJuicePaymentMethod,
5
5
  FeeJuicePaymentMethodWithClaim,
6
- type FeePaymentMethod,
7
6
  type Logger,
8
7
  PrivateFeePaymentMethod,
9
8
  SponsoredFeePaymentMethod,
@@ -26,6 +25,7 @@ import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contract
26
25
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
27
26
  import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
28
27
  import { type PXEConfig, getPXEConfig } from '@aztec/pxe/server';
28
+ import { GasSettings } from '@aztec/stdlib/gas';
29
29
  import { deriveSigningKey } from '@aztec/stdlib/keys';
30
30
  import { TestWallet } from '@aztec/test-wallet/server';
31
31
 
@@ -49,7 +49,10 @@ import { type ClientFlowsConfig, FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './c
49
49
  const { E2E_DATA_PATH: dataPath, BENCHMARK_CONFIG } = process.env;
50
50
 
51
51
  export type AccountType = 'ecdsar1' | 'schnorr';
52
- export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod>;
52
+ export type FeePaymentMethodGetter = (
53
+ wallet: Wallet,
54
+ sender: AztecAddress,
55
+ ) => Promise<AppConfigurableFeePaymentMethod | undefined>;
53
56
  export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
54
57
 
55
58
  export class ClientFlowsBenchmark {
@@ -112,7 +115,7 @@ export class ClientFlowsBenchmark {
112
115
  },
113
116
  // eslint-disable-next-line camelcase
114
117
  fee_juice: {
115
- forWallet: this.getFeeJuicePaymentMethodForWallet.bind(this),
118
+ forWallet: () => Promise.resolve(undefined),
116
119
  circuits: 0,
117
120
  },
118
121
  };
@@ -344,17 +347,22 @@ export class ClientFlowsBenchmark {
344
347
  public async createAndFundBenchmarkingAccountOnUserWallet(accountType: AccountType) {
345
348
  const benchysAccountManager = await this.createBenchmarkingAccountManager(this.adminWallet, accountType);
346
349
  const benchysAccount = await benchysAccountManager.getAccount();
347
- const benchysAddress = benchysAccountManager.getAddress();
350
+ const benchysAddress = benchysAccountManager.address;
348
351
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
349
- const paymentMethod = new FeeJuicePaymentMethodWithClaim(benchysAddress, claim);
350
- await benchysAccountManager.deploy({ fee: { paymentMethod } }).wait();
352
+ const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
353
+ await behchysDeployMethod
354
+ .send({
355
+ from: AztecAddress.ZERO,
356
+ fee: { paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim) },
357
+ })
358
+ .wait();
351
359
  // Register benchy on the user's Wallet, where we're going to be interacting from
352
360
  const accountManager = await this.userWallet.createAccount({
353
361
  secret: benchysAccount.getSecretKey(),
354
362
  salt: new Fr(benchysAccount.salt),
355
363
  contract: benchysAccountManager.getAccountContract(),
356
364
  });
357
- return accountManager.getAddress();
365
+ return accountManager.address;
358
366
  }
359
367
 
360
368
  public async applyDeployAmmSnapshot() {
@@ -388,15 +396,15 @@ export class ClientFlowsBenchmark {
388
396
  return new FeeJuicePaymentMethodWithClaim(sender, claim);
389
397
  }
390
398
 
391
- public getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress) {
392
- return Promise.resolve(new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet));
399
+ public async getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress) {
400
+ // The private fee paying method assembled on the app side requires knowledge of the maximum
401
+ // fee the user is willing to pay
402
+ const maxFeesPerGas = (await this.aztecNode.getCurrentBaseFees()).mul(1.5);
403
+ const gasSettings = GasSettings.default({ maxFeesPerGas });
404
+ return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
393
405
  }
394
406
 
395
407
  public getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet, _sender: AztecAddress) {
396
408
  return Promise.resolve(new SponsoredFeePaymentMethod(this.sponsoredFPC.address));
397
409
  }
398
-
399
- public getFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress) {
400
- return Promise.resolve(new FeeJuicePaymentMethod(sender));
401
- }
402
410
  }
@@ -48,7 +48,7 @@ describe('e2e_fees bridging_race', () => {
48
48
  salt: bobsSalt,
49
49
  contract: new SchnorrAccountContract(bobsPrivateSigningKey),
50
50
  });
51
- bobsAddress = bobsAccountManager.getAddress();
51
+ bobsAddress = bobsAccountManager.address;
52
52
  });
53
53
 
54
54
  it('Alice bridges funds to Bob', async () => {
@@ -1,4 +1,3 @@
1
- import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
2
1
  import { type AztecAddress, type AztecNode, type Logger, createLogger, sleep } from '@aztec/aztec.js';
3
2
  import { CheatCodes } from '@aztec/aztec/testing';
4
3
  import { type DeployL1ContractsArgs, RollupContract, createExtendedL1Client } from '@aztec/ethereum';
@@ -190,17 +189,6 @@ export class FeesTest {
190
189
  this.accounts = deployedAccounts.map(a => a.address);
191
190
  this.accounts.forEach((a, i) => this.logger.verbose(`Account ${i} address: ${a}`));
192
191
  [this.aliceAddress, this.bobAddress, this.sequencerAddress] = this.accounts.slice(0, 3);
193
- await Promise.all(
194
- deployedAccounts.map(async acc => {
195
- const accountData = {
196
- secret: acc.secret,
197
- salt: acc.salt,
198
- contract: new SchnorrAccountContract(acc.signingKey),
199
- };
200
- const accountManager = await this.wallet.createAccount(accountData);
201
- return accountManager.register();
202
- }),
203
- );
204
192
 
205
193
  // We set Alice as the FPC admin to avoid the need for deployment of another account.
206
194
  this.fpcAdmin = this.aliceAddress;
@@ -65,7 +65,7 @@ export const submitTransactions = async (
65
65
  rpcConfig.proverEnabled = false;
66
66
  const wallet = await TestWallet.create(node, { ...getPXEConfig(), proverEnabled: false }, { useLogSuffix: true });
67
67
  const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
68
- return submitTxsTo(wallet, fundedAccountManager.getAddress(), numTxs, logger);
68
+ return submitTxsTo(wallet, fundedAccountManager.address, numTxs, logger);
69
69
  };
70
70
 
71
71
  export async function prepareTransactions(
@@ -87,7 +87,7 @@ export async function prepareTransactions(
87
87
  const contract = await TestContract.at(testContractInstance.address, wallet);
88
88
 
89
89
  return timesAsync(numTxs, async () => {
90
- const tx = await contract.methods.emit_nullifier(Fr.random()).prove({ from: fundedAccountManager.getAddress() });
90
+ const tx = await contract.methods.emit_nullifier(Fr.random()).prove({ from: fundedAccountManager.address });
91
91
  const txHash = tx.getTxHash();
92
92
  logger.info(`Tx prepared with hash ${txHash}`);
93
93
  return tx;
@@ -2,7 +2,7 @@ import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
2
2
  import { type InitialAccountData, generateSchnorrAccounts } from '@aztec/accounts/testing';
3
3
  import { type AztecNodeConfig, AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
4
4
  import {
5
- type AztecAddress,
5
+ AztecAddress,
6
6
  type AztecNode,
7
7
  BatchCall,
8
8
  type ContractFunctionInteraction,
@@ -620,8 +620,10 @@ export const deployAccounts =
620
620
  deployedAccounts[i].salt,
621
621
  deployedAccounts[i].signingKey,
622
622
  );
623
- await accountManager
624
- .deploy({
623
+ const deployMethod = await accountManager.getDeployMethod();
624
+ await deployMethod
625
+ .send({
626
+ from: AztecAddress.ZERO,
625
627
  skipClassPublication: i !== 0, // Publish the contract class at most once.
626
628
  })
627
629
  .wait();
@@ -46,9 +46,9 @@ export async function mintNotes(
46
46
  asset: TokenContract,
47
47
  noteAmounts: bigint[],
48
48
  ): Promise<bigint> {
49
- // We can only mint 4 notes at a time, since that's the maximum number of calls our entrypoints allow
49
+ // We can only mint 5 notes at a time, since that's the maximum number of calls our entrypoints allow
50
50
  // TODO(#13024): mint as many notes as possible in a single tx
51
- const notesPerIteration = 4;
51
+ const notesPerIteration = 5;
52
52
  for (let mintedNotes = 0; mintedNotes < noteAmounts.length; mintedNotes += notesPerIteration) {
53
53
  const toMint = noteAmounts.slice(mintedNotes, mintedNotes + notesPerIteration);
54
54
  const actions = toMint.map(amt => asset.methods.mint_to_private(recipient, amt));
@@ -234,7 +234,7 @@ async function setupWithRemoteEnvironment(
234
234
  const testAccounts = await Promise.all(
235
235
  initialFundedAccounts.slice(0, numberOfAccounts).map(async account => {
236
236
  const accountManager = await wallet.createSchnorrAccount(account.secret, account.salt, account.signingKey);
237
- return accountManager.getAddress();
237
+ return accountManager.address;
238
238
  }),
239
239
  );
240
240
 
@@ -659,8 +659,8 @@ export async function setup(
659
659
  `${numberOfAccounts} accounts are being deployed. Reliably progressing past genesis by setting minTxsPerBlock to 1 and waiting for the accounts to be deployed`,
660
660
  );
661
661
  const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
662
- const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
663
- accounts = accountManagers.map(accountManager => accountManager.getAddress());
662
+ const accountManagers = await deployFundedSchnorrAccounts(wallet, aztecNode, accountsData);
663
+ accounts = accountManagers.map(accountManager => accountManager.address);
664
664
  }
665
665
 
666
666
  // Now we restore the original minTxsPerBlock setting.
@@ -19,8 +19,8 @@ aztec-wallet() {
19
19
  aztec-wallet import-test-accounts
20
20
 
21
21
  # docs:start:declare-accounts
22
- aztec-wallet create-account -a alice --payment method=fee_juice,feePayer=test0
23
- aztec-wallet create-account -a bob --payment method=fee_juice,feePayer=test0
22
+ aztec-wallet create-account -a alice -f test0
23
+ aztec-wallet create-account -a bob -f test0
24
24
  # docs:end:declare-accounts
25
25
 
26
26
  DEPLOY_OUTPUT=$(aztec-wallet deploy ../noir-contracts.js/artifacts/token_contract-Token.json --args accounts:test0 Test TST 18 -f test0)
@@ -13,7 +13,8 @@ export const submitTxsTo = async (
13
13
  await Promise.all(
14
14
  times(numTxs, async () => {
15
15
  const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
16
- const tx = accountManager.deploy({ deployAccount: submitter });
16
+ const deployMethod = await accountManager.getDeployMethod();
17
+ const tx = deployMethod.send({ from: submitter });
17
18
  const txHash = await tx.getTxHash();
18
19
 
19
20
  logger.info(`Tx sent with hash ${txHash}`);
@@ -104,7 +104,7 @@ export class TokenSimulator {
104
104
 
105
105
  const results = (
106
106
  await Promise.all(
107
- chunk(calls, 4).map(batch => new BatchCall(this.defaultWallet, batch).simulate({ from: this.defaultAddress })),
107
+ chunk(calls, 5).map(batch => new BatchCall(this.defaultWallet, batch).simulate({ from: this.defaultAddress })),
108
108
  )
109
109
  ).flat();
110
110
  expect(results[0]).toEqual(this.totalSupply);
@@ -1,9 +1,9 @@
1
1
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
2
2
  import {
3
- type AztecAddress,
3
+ type AppConfigurableFeePaymentMethod,
4
+ AztecAddress,
4
5
  type AztecNode,
5
6
  FeeJuicePaymentMethodWithClaim,
6
- type FeePaymentMethod,
7
7
  Fr,
8
8
  L1FeeJuicePortalManager,
9
9
  SponsoredFeePaymentMethod,
@@ -82,19 +82,21 @@ export async function deploySponsoredTestAccounts(
82
82
  await registerSponsoredFPC(wallet);
83
83
 
84
84
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
85
- await recipientAccount.deploy({ fee: { paymentMethod } }).wait({ timeout: 2400 });
85
+ const recipientDeployMethod = await recipientAccount.getDeployMethod();
86
+ await recipientDeployMethod.send({ from: AztecAddress.ZERO, fee: { paymentMethod } }).wait({ timeout: 2400 });
86
87
  await Promise.all(
87
88
  fundedAccounts.map(async a => {
88
- await a.deploy({ fee: { paymentMethod } }).wait({ timeout: 2400 }); // increase timeout on purpose in order to account for two empty epochs
89
- logger.info(`Account deployed at ${a.getAddress()}`);
89
+ const deployMethod = await a.getDeployMethod();
90
+ await deployMethod.send({ from: AztecAddress.ZERO, fee: { paymentMethod } }).wait({ timeout: 2400 }); // increase timeout on purpose in order to account for two empty epochs
91
+ logger.info(`Account deployed at ${a.address}`);
90
92
  }),
91
93
  );
92
94
 
93
95
  const tokenAdmin = fundedAccounts[0];
94
96
  const tokenAddress = await deployTokenAndMint(
95
97
  wallet,
96
- fundedAccounts.map(acc => acc.getAddress()),
97
- tokenAdmin.getAddress(),
98
+ fundedAccounts.map(acc => acc.address),
99
+ tokenAdmin.address,
98
100
  mintAmount,
99
101
  new SponsoredFeePaymentMethod(await getSponsoredFPCAddress()),
100
102
  logger,
@@ -104,12 +106,12 @@ export async function deploySponsoredTestAccounts(
104
106
  return {
105
107
  aztecNode,
106
108
  wallet,
107
- accounts: fundedAccounts.map(acc => acc.getAddress()),
108
- tokenAdminAddress: tokenAdmin.getAddress(),
109
+ accounts: fundedAccounts.map(acc => acc.address),
110
+ tokenAdminAddress: tokenAdmin.address,
109
111
  tokenName: TOKEN_NAME,
110
112
  tokenAddress,
111
113
  tokenContract,
112
- recipientAddress: recipientAccount.getAddress(),
114
+ recipientAddress: recipientAccount.address,
113
115
  };
114
116
  }
115
117
 
@@ -129,9 +131,7 @@ export async function deployTestAccountsWithTokens(
129
131
  const fundedAccounts = await Promise.all(funded.map(a => wallet.createSchnorrAccount(a.secret, a.salt)));
130
132
 
131
133
  const claims = await Promise.all(
132
- fundedAccounts.map(a =>
133
- bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.getAddress(), undefined, logger),
134
- ),
134
+ fundedAccounts.map(a => bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, aztecNode, a.address, undefined, logger)),
135
135
  );
136
136
 
137
137
  // Progress by 3 L2 blocks so that the l1ToL2Message added above will be available to use on L2.
@@ -141,17 +141,18 @@ export async function deployTestAccountsWithTokens(
141
141
 
142
142
  await Promise.all(
143
143
  fundedAccounts.map(async (a, i) => {
144
- const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.getAddress(), claims[i]);
145
- await a.deploy({ fee: { paymentMethod } }).wait();
146
- logger.info(`Account deployed at ${a.getAddress()}`);
144
+ const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.address, claims[i]);
145
+ const deployMethod = await a.getDeployMethod();
146
+ await deployMethod.send({ from: AztecAddress.ZERO, fee: { paymentMethod } }).wait();
147
+ logger.info(`Account deployed at ${a.address}`);
147
148
  }),
148
149
  );
149
150
 
150
151
  const tokenAdmin = fundedAccounts[0];
151
152
  const tokenAddress = await deployTokenAndMint(
152
153
  wallet,
153
- fundedAccounts.map(acc => acc.getAddress()),
154
- tokenAdmin.getAddress(),
154
+ fundedAccounts.map(acc => acc.address),
155
+ tokenAdmin.address,
155
156
  mintAmount,
156
157
  undefined,
157
158
  logger,
@@ -161,12 +162,12 @@ export async function deployTestAccountsWithTokens(
161
162
  return {
162
163
  aztecNode,
163
164
  wallet,
164
- accounts: fundedAccounts.map(acc => acc.getAddress()),
165
- tokenAdminAddress: tokenAdmin.getAddress(),
165
+ accounts: fundedAccounts.map(acc => acc.address),
166
+ tokenAdminAddress: tokenAdmin.address,
166
167
  tokenName: TOKEN_NAME,
167
168
  tokenAddress,
168
169
  tokenContract,
169
- recipientAddress: recipientAccount.getAddress(),
170
+ recipientAddress: recipientAccount.address,
170
171
  };
171
172
  }
172
173
 
@@ -214,7 +215,7 @@ async function deployTokenAndMint(
214
215
  accounts: AztecAddress[],
215
216
  admin: AztecAddress,
216
217
  mintAmount: bigint,
217
- paymentMethod: FeePaymentMethod | undefined,
218
+ paymentMethod: AppConfigurableFeePaymentMethod | undefined,
218
219
  logger: Logger,
219
220
  ) {
220
221
  logger.verbose(`Deploying TokenContract...`);
@@ -256,7 +257,7 @@ export async function performTransfers({
256
257
  rounds: number;
257
258
  transferAmount: bigint;
258
259
  logger: Logger;
259
- feePaymentMethod?: FeePaymentMethod;
260
+ feePaymentMethod?: AppConfigurableFeePaymentMethod;
260
261
  }) {
261
262
  const recipient = testAccounts.recipientAddress;
262
263
  // Default to sponsored fee payment if no fee method is provided