@aztec/end-to-end 0.0.1-fake-c83136db25 → 0.0.1-fake-ceab37513c

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 (137) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +2 -3
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +2 -2
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +12 -16
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +58 -54
  7. package/dest/bench/client_flows/data_extractor.js +3 -3
  8. package/dest/bench/utils.d.ts +11 -2
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +34 -10
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +7 -7
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +42 -42
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +8 -10
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +33 -31
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -10
  18. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  19. package/dest/e2e_deploy_contract/deploy_test.js +18 -9
  20. package/dest/e2e_epochs/epochs_test.d.ts +1 -3
  21. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  22. package/dest/e2e_epochs/epochs_test.js +9 -10
  23. package/dest/e2e_fees/bridging_race.notest.js +9 -12
  24. package/dest/e2e_fees/fees_test.d.ts +5 -5
  25. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  26. package/dest/e2e_fees/fees_test.js +31 -23
  27. package/dest/e2e_l1_publisher/write_json.d.ts +1 -3
  28. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  29. package/dest/e2e_l1_publisher/write_json.js +5 -5
  30. package/dest/e2e_multi_validator/utils.d.ts +1 -1
  31. package/dest/e2e_multi_validator/utils.d.ts.map +1 -1
  32. package/dest/e2e_nested_contract/nested_contract_test.d.ts +3 -6
  33. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  34. package/dest/e2e_nested_contract/nested_contract_test.js +9 -7
  35. package/dest/e2e_p2p/inactivity_slash_test.d.ts +2 -2
  36. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  37. package/dest/e2e_p2p/inactivity_slash_test.js +2 -5
  38. package/dest/e2e_p2p/p2p_network.d.ts +2 -14
  39. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  40. package/dest/e2e_p2p/p2p_network.js +10 -32
  41. package/dest/e2e_p2p/shared.d.ts +13 -11
  42. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  43. package/dest/e2e_p2p/shared.js +45 -49
  44. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -5
  45. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  46. package/dest/e2e_token_contract/token_contract_test.js +17 -14
  47. package/dest/fixtures/e2e_prover_test.d.ts +6 -8
  48. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  49. package/dest/fixtures/e2e_prover_test.js +50 -40
  50. package/dest/fixtures/get_acvm_config.d.ts +1 -1
  51. package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
  52. package/dest/fixtures/get_bb_config.d.ts +1 -1
  53. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  54. package/dest/fixtures/get_bb_config.js +2 -2
  55. package/dest/fixtures/setup_l1_contracts.d.ts +1 -1
  56. package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
  57. package/dest/fixtures/setup_l1_contracts.js +2 -2
  58. package/dest/fixtures/setup_p2p_test.d.ts +7 -0
  59. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  60. package/dest/fixtures/snapshot_manager.d.ts +7 -10
  61. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  62. package/dest/fixtures/snapshot_manager.js +32 -42
  63. package/dest/fixtures/token_utils.d.ts +4 -6
  64. package/dest/fixtures/token_utils.d.ts.map +1 -1
  65. package/dest/fixtures/token_utils.js +15 -11
  66. package/dest/fixtures/utils.d.ts +27 -23
  67. package/dest/fixtures/utils.d.ts.map +1 -1
  68. package/dest/fixtures/utils.js +100 -75
  69. package/dest/fixtures/web3signer.d.ts +1 -1
  70. package/dest/fixtures/web3signer.d.ts.map +1 -1
  71. package/dest/fixtures/web3signer.js +5 -16
  72. package/dest/quality_of_service/alert_checker.d.ts +1 -1
  73. package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
  74. package/dest/shared/cross_chain_test_harness.d.ts +10 -16
  75. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  76. package/dest/shared/cross_chain_test_harness.js +15 -13
  77. package/dest/shared/gas_portal_test_harness.d.ts +6 -9
  78. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  79. package/dest/shared/gas_portal_test_harness.js +7 -10
  80. package/dest/shared/jest_setup.js +1 -1
  81. package/dest/shared/submit-transactions.d.ts +3 -5
  82. package/dest/shared/submit-transactions.d.ts.map +1 -1
  83. package/dest/shared/submit-transactions.js +7 -8
  84. package/dest/shared/uniswap_l1_l2.d.ts +6 -9
  85. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  86. package/dest/shared/uniswap_l1_l2.js +45 -29
  87. package/dest/simulators/lending_simulator.d.ts +1 -2
  88. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  89. package/dest/simulators/lending_simulator.js +2 -3
  90. package/dest/simulators/token_simulator.d.ts +1 -3
  91. package/dest/simulators/token_simulator.d.ts.map +1 -1
  92. package/dest/simulators/token_simulator.js +2 -2
  93. package/dest/spartan/setup_test_wallets.d.ts +13 -19
  94. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  95. package/dest/spartan/setup_test_wallets.js +84 -107
  96. package/dest/spartan/utils.d.ts +0 -44
  97. package/dest/spartan/utils.d.ts.map +1 -1
  98. package/dest/spartan/utils.js +20 -212
  99. package/package.json +36 -37
  100. package/src/bench/client_flows/benchmark.ts +8 -8
  101. package/src/bench/client_flows/client_flows_benchmark.ts +82 -62
  102. package/src/bench/client_flows/data_extractor.ts +4 -4
  103. package/src/bench/utils.ts +37 -9
  104. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +63 -46
  105. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +47 -33
  106. package/src/e2e_deploy_contract/deploy_test.ts +35 -17
  107. package/src/e2e_epochs/epochs_test.ts +14 -12
  108. package/src/e2e_fees/bridging_race.notest.ts +9 -14
  109. package/src/e2e_fees/fees_test.ts +38 -26
  110. package/src/e2e_l1_publisher/write_json.ts +6 -8
  111. package/src/e2e_multi_validator/utils.ts +1 -1
  112. package/src/e2e_nested_contract/nested_contract_test.ts +10 -11
  113. package/src/e2e_p2p/inactivity_slash_test.ts +3 -7
  114. package/src/e2e_p2p/p2p_network.ts +67 -105
  115. package/src/e2e_p2p/shared.ts +55 -50
  116. package/src/e2e_token_contract/token_contract_test.ts +17 -17
  117. package/src/fixtures/e2e_prover_test.ts +88 -51
  118. package/src/fixtures/get_acvm_config.ts +1 -1
  119. package/src/fixtures/get_bb_config.ts +2 -3
  120. package/src/fixtures/setup_l1_contracts.ts +3 -3
  121. package/src/fixtures/setup_p2p_test.ts +8 -0
  122. package/src/fixtures/snapshot_manager.ts +59 -59
  123. package/src/fixtures/token_utils.ts +21 -13
  124. package/src/fixtures/utils.ts +137 -86
  125. package/src/fixtures/web3signer.ts +5 -22
  126. package/src/guides/up_quick_start.sh +10 -2
  127. package/src/quality_of_service/alert_checker.ts +1 -1
  128. package/src/shared/cross_chain_test_harness.ts +29 -18
  129. package/src/shared/gas_portal_test_harness.ts +19 -12
  130. package/src/shared/jest_setup.ts +1 -1
  131. package/src/shared/submit-transactions.ts +8 -12
  132. package/src/shared/uniswap_l1_l2.ts +67 -61
  133. package/src/simulators/lending_simulator.ts +2 -3
  134. package/src/simulators/token_simulator.ts +2 -5
  135. package/src/spartan/DEVELOP.md +3 -8
  136. package/src/spartan/setup_test_wallets.ts +125 -132
  137. package/src/spartan/utils.ts +18 -268
@@ -1,5 +1,4 @@
1
- import { ContractFunctionInteraction, DeployMethod, type DeployOptions, type ProfileInteractionOptions } from '@aztec/aztec.js/contracts';
2
- import type { Logger } from '@aztec/aztec.js/log';
1
+ import type { ContractFunctionInteraction, DeployMethod, DeployOptions, Logger, ProfileMethodOptions } from '@aztec/aztec.js';
3
2
  import { type PrivateExecutionStep } from '@aztec/stdlib/kernel';
4
3
  import type { ProvingStats, ProvingTimings, SimulationStats, SimulationTimings } from '@aztec/stdlib/tx';
5
4
  import type { GithubActionBenchmarkResult } from '../utils.js';
@@ -56,6 +55,6 @@ type ClientFlowBenchmark = {
56
55
  };
57
56
  export declare function generateBenchmark(flow: string, logs: Log[], stats: ProvingStats | SimulationStats, privateExecutionSteps: PrivateExecutionStep[], proverType: ProverType, error: string | undefined): ClientFlowBenchmark;
58
57
  export declare function convertProfileToGHBenchmark(benchmark: ClientFlowBenchmark): GithubActionBenchmarkResult[];
59
- export declare function captureProfile(label: string, interaction: ContractFunctionInteraction | DeployMethod, opts: Omit<ProfileInteractionOptions & DeployOptions, 'profileMode'>, expectedSteps?: number): Promise<import("@aztec/stdlib/tx").TxProfileResult>;
58
+ export declare function captureProfile(label: string, interaction: ContractFunctionInteraction | DeployMethod, opts: Omit<ProfileMethodOptions & DeployOptions, 'profileMode'>, expectedSteps?: number): Promise<import("@aztec/aztec.js").TxProfileResult>;
60
59
  export {};
61
60
  //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/benchmark.ts"],"names":[],"mappings":"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"}
@@ -234,13 +234,13 @@ export async function captureProfile(label, interaction, opts, expectedSteps) {
234
234
  const benchmark = generateBenchmark(label, logs, result.stats, result.executionSteps, 'wasm', undefined);
235
235
  const ivcFolder = process.env.CAPTURE_IVC_FOLDER;
236
236
  if (ivcFolder) {
237
- logger.info(`Capturing chonk execution profile for ${label}`);
237
+ logger.info(`Capturing client ivc execution profile for ${label}`);
238
238
  const resultsDirectory = join(ivcFolder, label);
239
239
  logger.info(`Writing private execution steps to ${resultsDirectory}`);
240
240
  await mkdir(resultsDirectory, {
241
241
  recursive: true
242
242
  });
243
- // Write the chonk files read by the prover.
243
+ // Write the client IVC files read by the prover.
244
244
  const ivcInputsPath = join(resultsDirectory, 'ivc-inputs.msgpack');
245
245
  await writeFile(ivcInputsPath, serializePrivateExecutionSteps(result.executionSteps));
246
246
  await writeFile(join(resultsDirectory, 'logs.json'), JSON.stringify(logs, null, 2));
@@ -1,9 +1,4 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
3
- import { type FeePaymentMethod, PrivateFeePaymentMethod, SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee';
4
- import { type Logger } from '@aztec/aztec.js/log';
5
- import type { AztecNode } from '@aztec/aztec.js/node';
6
- import type { Wallet } from '@aztec/aztec.js/wallet';
1
+ import { type AccountWallet, AccountWalletWithSecretKey, AztecAddress, type AztecNode, FeeJuicePaymentMethod, FeeJuicePaymentMethodWithClaim, type FeePaymentMethod, type Logger, type PXE, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, type Wallet } from '@aztec/aztec.js';
7
2
  import { CheatCodes } from '@aztec/aztec/testing';
8
3
  import { type DeployL1ContractsArgs } from '@aztec/ethereum';
9
4
  import { ChainMonitor } from '@aztec/ethereum/test';
@@ -13,24 +8,24 @@ import { FPCContract } from '@aztec/noir-contracts.js/FPC';
13
8
  import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
14
9
  import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
15
10
  import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contracts.js/Token';
16
- import { TestWallet } from '@aztec/test-wallet/server';
17
11
  import { type SubsystemsContext } from '../../fixtures/snapshot_manager.js';
18
12
  import { type SetupOptions } from '../../fixtures/utils.js';
19
13
  import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
20
14
  import { type GasBridgingTestHarness } from '../../shared/gas_portal_test_harness.js';
21
15
  import { type ClientFlowsConfig } from './config.js';
22
16
  export type AccountType = 'ecdsar1' | 'schnorr';
23
- export type FeePaymentMethodGetter = (wallet: Wallet, sender: AztecAddress) => Promise<FeePaymentMethod | undefined>;
17
+ export type FeePaymentMethodGetter = (wallet: Wallet) => Promise<FeePaymentMethod>;
24
18
  export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc' | 'fee_juice';
25
19
  export declare class ClientFlowsBenchmark {
26
20
  private snapshotManager;
27
21
  logger: Logger;
22
+ pxe: PXE;
28
23
  aztecNode: AztecNode;
29
24
  cheatCodes: CheatCodes;
30
25
  context: SubsystemsContext;
31
26
  chainMonitor: ChainMonitor;
32
27
  feeJuiceBridgeTestHarness: GasBridgingTestHarness;
33
- adminWallet: TestWallet;
28
+ adminWallet: AccountWallet;
34
29
  adminAddress: AztecAddress;
35
30
  sequencerAddress: AztecAddress;
36
31
  coinbase: EthAddress;
@@ -41,7 +36,7 @@ export declare class ClientFlowsBenchmark {
41
36
  amm: AMMContract;
42
37
  liquidityToken: TokenContract;
43
38
  sponsoredFPC: SponsoredFPCContract;
44
- userWallet: TestWallet;
39
+ userPXE: PXE;
45
40
  realProofs: boolean;
46
41
  paymentMethods: Record<BenchmarkingFeePaymentMethod, {
47
42
  forWallet: FeePaymentMethodGetter;
@@ -55,7 +50,7 @@ export declare class ClientFlowsBenchmark {
55
50
  mintAndBridgeFeeJuice(address: AztecAddress): Promise<void>;
56
51
  /** Admin mints bananaCoin tokens privately to the target address and redeems them. */
57
52
  mintPrivateBananas(amount: bigint, address: AztecAddress): Promise<void>;
58
- createBenchmarkingAccountManager(wallet: TestWallet, type: 'ecdsar1' | 'schnorr'): Promise<import("@aztec/aztec.js/wallet").AccountManager>;
53
+ createBenchmarkingAccountManager(pxe: PXE, type: 'ecdsar1' | 'schnorr'): Promise<import("@aztec/aztec.js").AccountManager>;
59
54
  applyBaseSnapshots(): Promise<void>;
60
55
  applyInitialAccountsSnapshot(): Promise<void>;
61
56
  applySetupFeeJuiceSnapshot(): Promise<void>;
@@ -63,11 +58,12 @@ export declare class ClientFlowsBenchmark {
63
58
  applyDeployCandyBarTokenSnapshot(): Promise<void>;
64
59
  applyFPCSetupSnapshot(): Promise<void>;
65
60
  applyDeploySponsoredFPCSnapshot(): Promise<void>;
66
- createCrossChainTestHarness(owner: AztecAddress): Promise<CrossChainTestHarness>;
67
- createAndFundBenchmarkingAccountOnUserWallet(accountType: AccountType): Promise<AztecAddress>;
61
+ createCrossChainTestHarness(owner: AccountWallet): Promise<CrossChainTestHarness>;
62
+ createAndFundBenchmarkingWallet(accountType: AccountType): Promise<AccountWalletWithSecretKey>;
68
63
  applyDeployAmmSnapshot(): Promise<void>;
69
- getBridgedFeeJuicePaymentMethodForWallet(_wallet: Wallet, sender: AztecAddress): Promise<FeeJuicePaymentMethodWithClaim>;
70
- getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress): Promise<PrivateFeePaymentMethod>;
71
- getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet, _sender: AztecAddress): Promise<SponsoredFeePaymentMethod>;
64
+ getBridgedFeeJuicePaymentMethodForWallet(wallet: Wallet): Promise<FeeJuicePaymentMethodWithClaim>;
65
+ getPrivateFPCPaymentMethodForWallet(wallet: Wallet): Promise<PrivateFeePaymentMethod>;
66
+ getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet): Promise<SponsoredFeePaymentMethod>;
67
+ getFeeJuicePaymentMethodForWallet(wallet: Wallet): Promise<FeeJuicePaymentMethod>;
72
68
  }
73
69
  //# 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,7 +1,7 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
3
- import { PrivateFeePaymentMethod, SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee';
4
- import { createLogger } from '@aztec/aztec.js/log';
1
+ import { EcdsaRAccountContractArtifact, getEcdsaRAccount } from '@aztec/accounts/ecdsa';
2
+ import { SchnorrAccountContractArtifact, getSchnorrAccount, getSchnorrWallet } from '@aztec/accounts/schnorr';
3
+ import { AccountWalletWithSecretKey, FeeJuicePaymentMethod, FeeJuicePaymentMethodWithClaim, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, createLogger } from '@aztec/aztec.js';
4
+ import { CheatCodes } from '@aztec/aztec/testing';
5
5
  import { RollupContract, createExtendedL1Client, deployL1Contract } from '@aztec/ethereum';
6
6
  import { ChainMonitor } from '@aztec/ethereum/test';
7
7
  import { randomBytes } from '@aztec/foundation/crypto';
@@ -16,10 +16,8 @@ import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
16
16
  import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contracts.js/Token';
17
17
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
18
18
  import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
19
- import { getPXEConfig } from '@aztec/pxe/server';
20
- import { GasSettings } from '@aztec/stdlib/gas';
19
+ import { createPXEService, getPXEServiceConfig } from '@aztec/pxe/server';
21
20
  import { deriveSigningKey } from '@aztec/stdlib/keys';
22
- import { TestWallet } from '@aztec/test-wallet/server';
23
21
  import { MNEMONIC } from '../../fixtures/fixtures.js';
24
22
  import { createSnapshotManager, deployAccounts } from '../../fixtures/snapshot_manager.js';
25
23
  import { mintTokensToPrivate } from '../../fixtures/token_utils.js';
@@ -32,13 +30,14 @@ const { E2E_DATA_PATH: dataPath, BENCHMARK_CONFIG } = process.env;
32
30
  export class ClientFlowsBenchmark {
33
31
  snapshotManager;
34
32
  logger;
33
+ pxe;
35
34
  aztecNode;
36
35
  cheatCodes;
37
36
  context;
38
37
  chainMonitor;
39
38
  feeJuiceBridgeTestHarness;
40
- adminWallet;
41
39
  // The admin that aids in the setup of the test
40
+ adminWallet;
42
41
  adminAddress;
43
42
  // Aztec Node config
44
43
  sequencerAddress;
@@ -56,8 +55,8 @@ export class ClientFlowsBenchmark {
56
55
  liquidityToken;
57
56
  // Sponsored FPC contract
58
57
  sponsoredFPC;
59
- // PXE and Wallet used by the benchmarking user. It can be set up with client-side proving enabled
60
- userWallet;
58
+ // PXE used by the benchmarking user. It can be set up with client-side proving enabled
59
+ userPXE;
61
60
  realProofs = [
62
61
  'true',
63
62
  '1'
@@ -83,7 +82,7 @@ export class ClientFlowsBenchmark {
83
82
  },
84
83
  // eslint-disable-next-line camelcase
85
84
  fee_juice: {
86
- forWallet: ()=>Promise.resolve(undefined),
85
+ forWallet: this.getFeeJuicePaymentMethodForWallet.bind(this),
87
86
  circuits: 0
88
87
  }
89
88
  };
@@ -126,46 +125,53 @@ export class ClientFlowsBenchmark {
126
125
  const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({
127
126
  from: this.adminAddress
128
127
  });
129
- await mintTokensToPrivate(this.bananaCoin, this.adminAddress, address, amount);
128
+ await mintTokensToPrivate(this.bananaCoin, this.adminAddress, this.adminWallet, address, amount);
130
129
  const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate({
131
130
  from: this.adminAddress
132
131
  });
133
132
  expect(balanceAfter).toEqual(balanceBefore + amount);
134
133
  }
135
- createBenchmarkingAccountManager(wallet, type) {
136
- const benchysSecret = Fr.random();
134
+ async createBenchmarkingAccountManager(pxe, type) {
135
+ const benchysSecretKey = Fr.random();
137
136
  const salt = Fr.random();
138
137
  let benchysPrivateSigningKey;
138
+ let benchysAccountManager;
139
139
  if (type === 'schnorr') {
140
- benchysPrivateSigningKey = deriveSigningKey(benchysSecret);
141
- return wallet.createSchnorrAccount(benchysSecret, salt, benchysPrivateSigningKey);
140
+ benchysPrivateSigningKey = deriveSigningKey(benchysSecretKey);
141
+ benchysAccountManager = await getSchnorrAccount(pxe, benchysSecretKey, benchysPrivateSigningKey, salt);
142
142
  } else if (type === 'ecdsar1') {
143
143
  benchysPrivateSigningKey = randomBytes(32);
144
- return wallet.createECDSARAccount(benchysSecret, salt, benchysPrivateSigningKey);
144
+ benchysAccountManager = await getEcdsaRAccount(pxe, benchysSecretKey, benchysPrivateSigningKey, salt);
145
145
  } else {
146
146
  throw new Error(`Unknown account type: ${type}`);
147
147
  }
148
+ await benchysAccountManager.register();
149
+ return benchysAccountManager;
148
150
  }
149
151
  async applyBaseSnapshots() {
150
152
  await this.applyInitialAccountsSnapshot();
151
153
  await this.applySetupFeeJuiceSnapshot();
152
154
  }
153
155
  async applyInitialAccountsSnapshot() {
154
- await this.snapshotManager.snapshot('initial_accounts', deployAccounts(2, this.logger), async ({ deployedAccounts: [{ address: adminAddress }, { address: sequencerAddress }] }, { wallet, aztecNode, cheatCodes })=>{
155
- this.adminWallet = wallet;
156
+ await this.snapshotManager.snapshot('initial_accounts', deployAccounts(2, this.logger), async ({ deployedAccounts }, { pxe, aztecNode, aztecNodeConfig })=>{
157
+ this.pxe = pxe;
156
158
  this.aztecNode = aztecNode;
157
- this.cheatCodes = cheatCodes;
158
- this.adminAddress = adminAddress;
159
- this.sequencerAddress = sequencerAddress;
159
+ this.cheatCodes = await CheatCodes.create(aztecNodeConfig.l1RpcUrls, pxe);
160
+ const deployedWallets = await Promise.all(deployedAccounts.map((a)=>getSchnorrWallet(pxe, a.address, a.signingKey)));
161
+ [this.adminWallet] = deployedWallets;
162
+ this.adminAddress = this.adminWallet.getAddress();
163
+ this.sequencerAddress = deployedWallets[1].getAddress();
160
164
  const canonicalFeeJuice = await getCanonicalFeeJuice();
161
165
  this.feeJuiceContract = await FeeJuiceContract.at(canonicalFeeJuice.address, this.adminWallet);
162
166
  this.coinbase = EthAddress.random();
163
- const userPXEConfig = getPXEConfig();
167
+ const userPXEConfig = getPXEServiceConfig();
168
+ const l1Contracts = await aztecNode.getL1ContractAddresses();
164
169
  const userPXEConfigWithContracts = {
165
170
  ...userPXEConfig,
166
- proverEnabled: this.realProofs
171
+ proverEnabled: this.realProofs,
172
+ l1Contracts
167
173
  };
168
- this.userWallet = await TestWallet.create(this.aztecNode, userPXEConfigWithContracts, {
174
+ this.userPXE = await createPXEService(this.aztecNode, userPXEConfigWithContracts, {
169
175
  loggers: {
170
176
  prover: this.proxyLogger.createLogger('pxe:bb:wasm:bundle:proxied')
171
177
  }
@@ -179,6 +185,7 @@ export class ClientFlowsBenchmark {
179
185
  this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
180
186
  aztecNode: context.aztecNode,
181
187
  aztecNodeAdmin: context.aztecNode,
188
+ pxeService: context.pxe,
182
189
  l1Client: context.deployL1ContractsValues.l1Client,
183
190
  wallet: this.adminWallet,
184
191
  logger: this.logger
@@ -214,7 +221,7 @@ export class ClientFlowsBenchmark {
214
221
  async applyFPCSetupSnapshot() {
215
222
  await this.snapshotManager.snapshot('fpc_setup', async (context)=>{
216
223
  const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
217
- expect((await context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
224
+ expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
218
225
  const bananaCoin = this.bananaCoin;
219
226
  const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress).send({
220
227
  from: this.adminAddress
@@ -230,7 +237,7 @@ export class ClientFlowsBenchmark {
230
237
  }
231
238
  async applyDeploySponsoredFPCSnapshot() {
232
239
  await this.snapshotManager.snapshot('deploy_sponsored_fpc', async ()=>{
233
- const sponsoredFPC = await setupSponsoredFPC(this.adminWallet);
240
+ const sponsoredFPC = await setupSponsoredFPC(this.pxe);
234
241
  this.logger.info(`SponsoredFPC at ${sponsoredFPC.address}`);
235
242
  return {
236
243
  sponsoredFPCAddress: sponsoredFPC.address
@@ -247,29 +254,29 @@ export class ClientFlowsBenchmark {
247
254
  l1Client.account.address
248
255
  ]).then(({ address })=>address);
249
256
  this.logger.verbose(`Setting up cross chain harness...`);
250
- const crossChainTestHarness = await CrossChainTestHarness.new(this.aztecNode, l1Client, this.adminWallet, owner, this.logger, underlyingERC20Address);
257
+ const crossChainTestHarness = await CrossChainTestHarness.new(this.aztecNode, this.pxe, l1Client, owner, owner.getAddress(), this.logger, underlyingERC20Address);
251
258
  this.logger.verbose(`L2 token deployed to: ${crossChainTestHarness.l2Token.address}`);
252
259
  return crossChainTestHarness;
253
260
  }
254
- async createAndFundBenchmarkingAccountOnUserWallet(accountType) {
255
- const benchysAccountManager = await this.createBenchmarkingAccountManager(this.adminWallet, accountType);
256
- const benchysAccount = await benchysAccountManager.getAccount();
257
- const benchysAddress = benchysAccountManager.address;
261
+ async createAndFundBenchmarkingWallet(accountType) {
262
+ const benchysAccountManager = await this.createBenchmarkingAccountManager(this.pxe, accountType);
263
+ const benchysWallet = await benchysAccountManager.getWallet();
264
+ const benchysAddress = benchysAccountManager.getAddress();
258
265
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
259
- const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
260
- await behchysDeployMethod.send({
261
- from: AztecAddress.ZERO,
266
+ const paymentMethod = new FeeJuicePaymentMethodWithClaim(benchysWallet, claim);
267
+ await benchysAccountManager.deploy({
262
268
  fee: {
263
- paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim)
269
+ paymentMethod
264
270
  }
265
271
  }).wait();
266
- // Register benchy on the user's Wallet, where we're going to be interacting from
267
- const accountManager = await this.userWallet.createAccount({
268
- secret: benchysAccount.getSecretKey(),
269
- salt: new Fr(benchysAccount.salt),
270
- contract: benchysAccountManager.getAccountContract()
272
+ // Register benchy on the user's PXE, where we're going to be interacting from
273
+ await this.userPXE.registerContract({
274
+ instance: benchysAccountManager.getInstance(),
275
+ artifact: accountType === 'ecdsar1' ? EcdsaRAccountContractArtifact : SchnorrAccountContractArtifact
271
276
  });
272
- return accountManager.address;
277
+ await this.userPXE.registerAccount(benchysWallet.getSecretKey(), benchysWallet.getCompleteAddress().partialAddress);
278
+ const entrypoint = await benchysAccountManager.getAccount();
279
+ return new AccountWalletWithSecretKey(this.userPXE, entrypoint, benchysWallet.getSecretKey(), benchysAccountManager.salt);
273
280
  }
274
281
  async applyDeployAmmSnapshot() {
275
282
  await this.snapshotManager.snapshot('deploy_amm', async ()=>{
@@ -292,20 +299,17 @@ export class ClientFlowsBenchmark {
292
299
  this.amm = await AMMContract.at(ammAddress, this.adminWallet);
293
300
  });
294
301
  }
295
- async getBridgedFeeJuicePaymentMethodForWallet(_wallet, sender) {
296
- const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(sender);
297
- return new FeeJuicePaymentMethodWithClaim(sender, claim);
302
+ async getBridgedFeeJuicePaymentMethodForWallet(wallet) {
303
+ const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(wallet.getAddress());
304
+ return new FeeJuicePaymentMethodWithClaim(wallet, claim);
298
305
  }
299
- async getPrivateFPCPaymentMethodForWallet(wallet, sender) {
300
- // The private fee paying method assembled on the app side requires knowledge of the maximum
301
- // fee the user is willing to pay
302
- const maxFeesPerGas = (await this.aztecNode.getCurrentBaseFees()).mul(1.5);
303
- const gasSettings = GasSettings.default({
304
- maxFeesPerGas
305
- });
306
- return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
306
+ getPrivateFPCPaymentMethodForWallet(wallet) {
307
+ return Promise.resolve(new PrivateFeePaymentMethod(this.bananaFPC.address, wallet));
307
308
  }
308
- getSponsoredFPCPaymentMethodForWallet(_wallet, _sender) {
309
+ getSponsoredFPCPaymentMethodForWallet(_wallet) {
309
310
  return Promise.resolve(new SponsoredFeePaymentMethod(this.sponsoredFPC.address));
310
311
  }
312
+ getFeeJuicePaymentMethodForWallet(wallet) {
313
+ return Promise.resolve(new FeeJuicePaymentMethod(wallet.getAddress()));
314
+ }
311
315
  }
@@ -40,7 +40,7 @@ async function main() {
40
40
  bbBinaryPath: process.env.BB_BINARY_PATH,
41
41
  bbWorkingDirectory: process.env.BB_WORKING_DIRECTORY
42
42
  }, proxyLogger.createLogger('bb:prover'));
43
- const userLog = createLogger('chonk_flows:data_processor');
43
+ const userLog = createLogger('client_ivc_flows:data_processor');
44
44
  for (const flow of flows){
45
45
  userLog.info(`Processing flow ${flow}`);
46
46
  const ivcInputs = await readFile(join(ivcFolder, flow, 'ivc-inputs.msgpack'));
@@ -73,10 +73,10 @@ async function main() {
73
73
  let provingTime;
74
74
  try {
75
75
  const provingTimer = new Timer();
76
- await prover.createChonkProof(privateExecutionSteps);
76
+ await prover.createClientIvcProof(privateExecutionSteps);
77
77
  provingTime = provingTimer.ms();
78
78
  } catch (e) {
79
- userLog.error(`Failed to generate chonk proof for ${flow}`, e);
79
+ userLog.error(`Failed to generate client ivc proof for ${flow}`, e);
80
80
  error = e.message;
81
81
  }
82
82
  // Extract logs from this run from the proxy and write them to disk unconditionally
@@ -1,5 +1,6 @@
1
- import { type SentTx, type WaitOpts } from '@aztec/aztec.js/contracts';
1
+ import { type AztecNode, type SentTx, type WaitOpts } from '@aztec/aztec.js';
2
2
  import { BenchmarkingContract } from '@aztec/noir-test-contracts.js/Benchmarking';
3
+ import { type PXEService } from '@aztec/pxe/server';
3
4
  import type { MetricsType } from '@aztec/telemetry-client';
4
5
  import type { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
5
6
  import { type EndToEndContext, type SetupOptions } from '../fixtures/utils.js';
@@ -38,7 +39,15 @@ export type GithubActionBenchmarkResult = {
38
39
  * @param heavyPublicCompute - Whether the transactions include heavy public compute (like a big sha256).
39
40
  * @returns Array of sent txs.
40
41
  */
41
- export declare function sendTxs(txCount: number, context: EndToEndContext, contract: BenchmarkingContract, heavyPublicCompute?: boolean): SentTx[];
42
+ export declare function sendTxs(txCount: number, context: EndToEndContext, contract: BenchmarkingContract, heavyPublicCompute?: boolean): Promise<SentTx[]>;
42
43
  export declare function waitTxs(txs: SentTx[], context: EndToEndContext, txWaitOpts?: WaitOpts): Promise<void>;
44
+ /**
45
+ * Creates a new PXE
46
+ * @param node - Node to connect the pxe to.
47
+ * @param contract - Benchmark contract to add to the pxe.
48
+ * @param startingBlock - First l2 block to process.
49
+ * @returns The new PXE.
50
+ */
51
+ export declare function createNewPXE(node: AztecNode, contract: BenchmarkingContract): Promise<PXEService>;
43
52
  export {};
44
53
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAA4C,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKxH,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAS,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC5B,6BAA6B,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IACtE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;GAyBF;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6DF;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,oBAAoB,EAC9B,kBAAkB,GAAE,OAAe,GAClC,MAAM,EAAE,CAMV;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,QAAQ,iBAI3F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bench/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAA4C,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKxH,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAS,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC5B,6BAA6B,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IACtE,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;GA0BF;AAED,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6DF;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,oBAAoB,EAC9B,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,QAAQ,iBAI3F;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBvG"}
@@ -1,6 +1,7 @@
1
- import { BatchCall } from '@aztec/aztec.js/contracts';
1
+ import { BatchCall } from '@aztec/aztec.js';
2
2
  import { mean, stdDev, times } from '@aztec/foundation/collection';
3
3
  import { BenchmarkingContract } from '@aztec/noir-test-contracts.js/Benchmarking';
4
+ import { createPXEService } from '@aztec/pxe/server';
4
5
  import { mkdirSync, writeFileSync } from 'fs';
5
6
  import path from 'path';
6
7
  import { setup } from '../fixtures/utils.js';
@@ -13,9 +14,8 @@ import { setup } from '../fixtures/utils.js';
13
14
  benchmark: true
14
15
  }
15
16
  });
16
- const defaultAccountAddress = context.accounts[0];
17
17
  const contract = await BenchmarkingContract.deploy(context.wallet).send({
18
- from: defaultAccountAddress
18
+ from: context.wallet.getAddress()
19
19
  }).deployed();
20
20
  context.logger.info(`Deployed benchmarking contract at ${contract.address}`);
21
21
  const sequencer = context.aztecNode.getSequencer();
@@ -92,10 +92,10 @@ function getMetricValues(points) {
92
92
  * @param heavyPublicCompute - Whether the transactions include heavy public compute (like a big sha256).
93
93
  * @returns A BatchCall instance.
94
94
  */ function makeCall(index, context, contract, heavyPublicCompute) {
95
- const [owner] = context.accounts;
95
+ const owner = context.wallet.getAddress();
96
96
  if (heavyPublicCompute) {
97
97
  return new BatchCall(context.wallet, [
98
- contract.methods.sha256_hash_1024(randomBytesAsBigInts(1024))
98
+ contract.methods.sha256_hash_2048(randomBytesAsBigInts(2048))
99
99
  ]);
100
100
  } else {
101
101
  return new BatchCall(context.wallet, [
@@ -112,20 +112,44 @@ function getMetricValues(points) {
112
112
  * @param contract - Target contract.
113
113
  * @param heavyPublicCompute - Whether the transactions include heavy public compute (like a big sha256).
114
114
  * @returns Array of sent txs.
115
- */ export function sendTxs(txCount, context, contract, heavyPublicCompute = false) {
115
+ */ export async function sendTxs(txCount, context, contract, heavyPublicCompute = false) {
116
116
  const calls = times(txCount, (index)=>makeCall(index, context, contract, heavyPublicCompute));
117
117
  context.logger.info(`Creating ${txCount} txs`);
118
- const [from] = context.accounts;
118
+ const provenTxs = await Promise.all(calls.map((call)=>call.prove({
119
+ from: context.wallet.getAddress()
120
+ })));
119
121
  context.logger.info(`Sending ${txCount} txs`);
120
- return calls.map((call)=>call.send({
121
- from
122
- }));
122
+ return provenTxs.map((tx)=>tx.send());
123
123
  }
124
124
  export async function waitTxs(txs, context, txWaitOpts) {
125
125
  context.logger.info(`Awaiting ${txs.length} txs to be mined`);
126
126
  await Promise.all(txs.map((tx)=>tx.wait(txWaitOpts)));
127
127
  context.logger.info(`All ${txs.length} txs have been mined`);
128
128
  }
129
+ /**
130
+ * Creates a new PXE
131
+ * @param node - Node to connect the pxe to.
132
+ * @param contract - Benchmark contract to add to the pxe.
133
+ * @param startingBlock - First l2 block to process.
134
+ * @returns The new PXE.
135
+ */ export async function createNewPXE(node, contract) {
136
+ const l1Contracts = await node.getL1ContractAddresses();
137
+ const { l1ChainId, rollupVersion } = await node.getNodeInfo();
138
+ const pxeConfig = {
139
+ l2BlockBatchSize: 50,
140
+ l2BlockPollingIntervalMS: 100,
141
+ dataDirectory: undefined,
142
+ dataStoreMapSizeKb: 1024 * 1024,
143
+ l1Contracts,
144
+ l1ChainId,
145
+ rollupVersion
146
+ };
147
+ // docs:start:PXEcreate
148
+ const pxe = await createPXEService(node, pxeConfig);
149
+ // docs:end:PXEcreate
150
+ await pxe.registerContract(contract);
151
+ return pxe;
152
+ }
129
153
  function randomBytesAsBigInts(length) {
130
154
  return [
131
155
  ...Array(length)
@@ -1,13 +1,8 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import { Fr } from '@aztec/aztec.js/fields';
3
- import { type Logger } from '@aztec/aztec.js/log';
4
- import type { AztecNode } from '@aztec/aztec.js/node';
5
- import type { TxHash } from '@aztec/aztec.js/tx';
1
+ import { type AccountWallet, AztecAddress, type AztecNode, type CompleteAddress, Fr, type Logger, type PXE, type TxHash } from '@aztec/aztec.js';
6
2
  import type { CheatCodes } from '@aztec/aztec/testing';
7
3
  import { TokenBlacklistContract } from '@aztec/noir-contracts.js/TokenBlacklist';
8
4
  import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
9
5
  import type { SequencerClient } from '@aztec/sequencer-client';
10
- import type { TestWallet } from '@aztec/test-wallet/server';
11
6
  import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
12
7
  import { TokenSimulator } from '../simulators/token_simulator.js';
13
8
  export declare class Role {
@@ -27,15 +22,20 @@ export declare class BlacklistTokenContractTest {
27
22
  static CHANGE_ROLES_DELAY: number;
28
23
  private snapshotManager;
29
24
  logger: Logger;
30
- wallet: TestWallet;
25
+ wallets: AccountWallet[];
26
+ pxe: PXE;
27
+ accounts: CompleteAddress[];
31
28
  asset: TokenBlacklistContract;
32
29
  tokenSim: TokenSimulator;
33
30
  badAccount: InvalidAccountContract;
34
31
  cheatCodes: CheatCodes;
35
32
  sequencer: SequencerClient;
36
33
  aztecNode: AztecNode;
34
+ admin: AccountWallet;
37
35
  adminAddress: AztecAddress;
36
+ other: AccountWallet;
38
37
  otherAddress: AztecAddress;
38
+ blacklisted: AccountWallet;
39
39
  blacklistedAddress: AztecAddress;
40
40
  constructor(testName: string);
41
41
  crossTimestampOfChange(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"blacklist_token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS;IAKT,UAAU;IAKV,eAAe;IAKf,YAAY;;;;;CAKb;AAED,qBAAa,0BAA0B;IAErC,MAAM,CAAC,kBAAkB,SAAS;IAElC,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,KAAK,EAAG,sBAAsB,CAAC;IAC/B,QAAQ,EAAG,cAAc,CAAC;IAC1B,UAAU,EAAG,sBAAsB,CAAC;IACpC,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,EAAG,eAAe,CAAC;IAC5B,SAAS,EAAG,SAAS,CAAC;IAEtB,YAAY,EAAG,YAAY,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,kBAAkB,EAAG,YAAY,CAAC;gBAEtB,QAAQ,EAAE,MAAM;IAKtB,sBAAsB;IAQ5B;;;;OAIG;IACG,kBAAkB;IAgElB,KAAK;IAIX,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAIR,yBAAyB,CAC7B,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,MAAM;IAgBV,iBAAiB;CAmExB"}
1
+ {"version":3,"file":"blacklist_token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,EAAE,EACF,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS;IAKT,UAAU;IAKV,eAAe;IAKf,YAAY;;;;;CAKb;AAED,qBAAa,0BAA0B;IAErC,MAAM,CAAC,kBAAkB,SAAS;IAElC,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAM;IAC9B,GAAG,EAAG,GAAG,CAAC;IACV,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,KAAK,EAAG,sBAAsB,CAAC;IAC/B,QAAQ,EAAG,cAAc,CAAC;IAC1B,UAAU,EAAG,sBAAsB,CAAC;IACpC,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,EAAG,eAAe,CAAC;IAC5B,SAAS,EAAG,SAAS,CAAC;IAEtB,KAAK,EAAG,aAAa,CAAC;IACtB,YAAY,EAAG,YAAY,CAAC;IAC5B,KAAK,EAAG,aAAa,CAAC;IACtB,YAAY,EAAG,YAAY,CAAC;IAC5B,WAAW,EAAG,aAAa,CAAC;IAC5B,kBAAkB,EAAG,YAAY,CAAC;gBAEtB,QAAQ,EAAE,MAAM;IAKtB,sBAAsB;IAQ5B;;;;OAIG;IACG,kBAAkB;IAoElB,KAAK;IAIX,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAIR,yBAAyB,CAC7B,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,MAAM;IAgBV,iBAAiB;CAqExB"}