@aztec/end-to-end 1.2.1 → 2.0.0-nightly.20250813

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 (119) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +2 -2
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +4 -2
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +1 -1
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +33 -15
  7. package/dest/bench/utils.d.ts.map +1 -1
  8. package/dest/bench/utils.js +7 -4
  9. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +11 -3
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +59 -24
  12. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +3 -2
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +13 -10
  15. package/dest/e2e_deploy_contract/deploy_test.d.ts +1 -1
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  17. package/dest/e2e_deploy_contract/deploy_test.js +7 -6
  18. package/dest/e2e_epochs/epochs_test.d.ts +16 -2
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +65 -7
  21. package/dest/e2e_fees/bridging_race.notest.js +3 -1
  22. package/dest/e2e_fees/fees_test.d.ts +5 -4
  23. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  24. package/dest/e2e_fees/fees_test.js +44 -59
  25. package/dest/e2e_nested_contract/nested_contract_test.d.ts +3 -3
  26. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  27. package/dest/e2e_nested_contract/nested_contract_test.js +17 -12
  28. package/dest/e2e_p2p/p2p_network.d.ts +7 -4
  29. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  30. package/dest/e2e_p2p/p2p_network.js +43 -22
  31. package/dest/e2e_p2p/shared.d.ts +3 -3
  32. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  33. package/dest/e2e_p2p/shared.js +16 -12
  34. package/dest/e2e_token_contract/token_contract_test.d.ts +8 -4
  35. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  36. package/dest/e2e_token_contract/token_contract_test.js +48 -23
  37. package/dest/fixtures/e2e_prover_test.d.ts +1 -1
  38. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  39. package/dest/fixtures/e2e_prover_test.js +27 -10
  40. package/dest/fixtures/setup_p2p_test.d.ts +4 -1
  41. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  42. package/dest/fixtures/setup_p2p_test.js +39 -8
  43. package/dest/fixtures/snapshot_manager.d.ts +3 -1
  44. package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
  45. package/dest/fixtures/snapshot_manager.js +20 -17
  46. package/dest/fixtures/token_utils.d.ts +3 -3
  47. package/dest/fixtures/token_utils.d.ts.map +1 -1
  48. package/dest/fixtures/token_utils.js +14 -10
  49. package/dest/fixtures/utils.d.ts +23 -8
  50. package/dest/fixtures/utils.d.ts.map +1 -1
  51. package/dest/fixtures/utils.js +88 -56
  52. package/dest/integration_l1_publisher/write_json.d.ts +8 -0
  53. package/dest/integration_l1_publisher/write_json.d.ts.map +1 -0
  54. package/dest/integration_l1_publisher/write_json.js +57 -0
  55. package/dest/sample-dapp/connect.d.mts +2 -0
  56. package/dest/sample-dapp/connect.d.mts.map +1 -0
  57. package/dest/sample-dapp/connect.js +1 -1
  58. package/dest/sample-dapp/contracts.d.mts +3 -0
  59. package/dest/sample-dapp/contracts.d.mts.map +1 -0
  60. package/dest/sample-dapp/contracts.js +1 -1
  61. package/dest/sample-dapp/deploy.d.mts +3 -0
  62. package/dest/sample-dapp/deploy.d.mts.map +1 -0
  63. package/dest/sample-dapp/deploy.js +4 -1
  64. package/dest/sample-dapp/index.d.mts +2 -0
  65. package/dest/sample-dapp/index.d.mts.map +1 -0
  66. package/dest/sample-dapp/index.js +18 -8
  67. package/dest/shared/cross_chain_test_harness.d.ts +6 -3
  68. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  69. package/dest/shared/cross_chain_test_harness.js +50 -20
  70. package/dest/shared/gas_portal_test_harness.d.ts +3 -3
  71. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  72. package/dest/shared/gas_portal_test_harness.js +21 -6
  73. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  74. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  75. package/dest/shared/uniswap_l1_l2.js +45 -22
  76. package/dest/simulators/lending_simulator.d.ts +1 -1
  77. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  78. package/dest/simulators/lending_simulator.js +6 -2
  79. package/dest/simulators/token_simulator.d.ts +2 -1
  80. package/dest/simulators/token_simulator.d.ts.map +1 -1
  81. package/dest/simulators/token_simulator.js +12 -4
  82. package/dest/spartan/setup_test_wallets.d.ts +7 -0
  83. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  84. package/dest/spartan/setup_test_wallets.js +96 -11
  85. package/dest/spartan/utils.d.ts +23 -3
  86. package/dest/spartan/utils.d.ts.map +1 -1
  87. package/dest/spartan/utils.js +9 -6
  88. package/package.json +36 -36
  89. package/src/bench/client_flows/benchmark.ts +8 -3
  90. package/src/bench/client_flows/client_flows_benchmark.ts +23 -14
  91. package/src/bench/utils.ts +5 -4
  92. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +47 -26
  93. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +14 -9
  94. package/src/e2e_deploy_contract/deploy_test.ts +7 -7
  95. package/src/e2e_epochs/epochs_test.ts +97 -25
  96. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  97. package/src/e2e_fees/fees_test.ts +55 -82
  98. package/src/e2e_nested_contract/nested_contract_test.ts +16 -11
  99. package/src/e2e_p2p/p2p_network.ts +51 -26
  100. package/src/e2e_p2p/shared.ts +14 -12
  101. package/src/e2e_token_contract/token_contract_test.ts +38 -36
  102. package/src/fixtures/e2e_prover_test.ts +17 -10
  103. package/src/fixtures/setup_p2p_test.ts +51 -9
  104. package/src/fixtures/snapshot_manager.ts +24 -17
  105. package/src/fixtures/token_utils.ts +14 -9
  106. package/src/fixtures/utils.ts +116 -57
  107. package/src/guides/up_quick_start.sh +1 -1
  108. package/src/integration_l1_publisher/write_json.ts +74 -0
  109. package/src/sample-dapp/connect.mjs +1 -1
  110. package/src/sample-dapp/contracts.mjs +1 -1
  111. package/src/sample-dapp/deploy.mjs +3 -3
  112. package/src/sample-dapp/index.mjs +11 -8
  113. package/src/shared/cross_chain_test_harness.ts +31 -18
  114. package/src/shared/gas_portal_test_harness.ts +17 -7
  115. package/src/shared/uniswap_l1_l2.ts +28 -24
  116. package/src/simulators/lending_simulator.ts +3 -3
  117. package/src/simulators/token_simulator.ts +12 -3
  118. package/src/spartan/setup_test_wallets.ts +130 -19
  119. package/src/spartan/utils.ts +10 -3
@@ -1,8 +1,12 @@
1
1
  import { getSchnorrAccount, getSchnorrWalletWithSecretKey } from '@aztec/accounts/schnorr';
2
2
  import { generateSchnorrAccounts, getDeployedTestAccountsWallets } from '@aztec/accounts/testing';
3
- import { FeeJuicePaymentMethodWithClaim, Fr, L1FeeJuicePortalManager, createAztecNodeClient, createCompatibleClient, retryUntil } from '@aztec/aztec.js';
3
+ import { FeeJuicePaymentMethodWithClaim, Fr, L1FeeJuicePortalManager, SponsoredFeePaymentMethod, createAztecNodeClient, createCompatibleClient, retryUntil } from '@aztec/aztec.js';
4
4
  import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
5
5
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
6
+ import { createPXEService } from '@aztec/pxe/server';
7
+ import { getACVMConfig } from '../fixtures/get_acvm_config.js';
8
+ import { getBBConfig } from '../fixtures/get_bb_config.js';
9
+ import { getSponsoredFPCAddress, registerSponsoredFPC } from '../fixtures/utils.js';
6
10
  const TOKEN_NAME = 'USDC';
7
11
  const TOKEN_SYMBOL = 'USD';
8
12
  const TOKEN_DECIMALS = 18n;
@@ -11,17 +15,51 @@ export async function setupTestWalletsWithTokens(pxeUrl, mintAmount, logger) {
11
15
  const pxe = await createCompatibleClient(pxeUrl, logger);
12
16
  const [recipientWallet, ...wallets] = (await getDeployedTestAccountsWallets(pxe)).slice(0, WALLET_COUNT + 1);
13
17
  const tokenAdmin = wallets[0];
14
- const tokenAddress = await deployTokenAndMint(wallets, tokenAdmin.getAddress(), mintAmount, logger);
18
+ const tokenAddress = await deployTokenAndMint(wallets, tokenAdmin.getAddress(), mintAmount, undefined, logger);
15
19
  const tokenAdminWallet = await TokenContract.at(tokenAddress, tokenAdmin);
16
20
  return {
17
21
  pxe,
18
22
  wallets,
19
23
  tokenAdminWallet,
24
+ tokenAdminAddress: tokenAdmin.getAddress(),
20
25
  tokenName: TOKEN_NAME,
21
26
  tokenAddress,
27
+ recipientAddress: recipientWallet.getAddress(),
22
28
  recipientWallet
23
29
  };
24
30
  }
31
+ export async function deploySponsoredTestWallets(pxe, mintAmount, logger, numberOfFundedWallets = 1) {
32
+ const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
33
+ const recipientWallet = await getSchnorrWalletWithSecretKey(pxe, recipient.secret, recipient.signingKey, recipient.salt);
34
+ const fundedAccounts = await Promise.all(funded.map((a)=>getSchnorrAccount(pxe, a.secret, a.signingKey, a.salt)));
35
+ await registerSponsoredFPC(pxe);
36
+ const wallets = await Promise.all(fundedAccounts.map(async (a)=>{
37
+ const wallet = await a.getWallet();
38
+ const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
39
+ await a.deploy({
40
+ fee: {
41
+ paymentMethod
42
+ }
43
+ }).wait({
44
+ timeout: 2400
45
+ }); // increase timeout on purpose in order to account for two empty epochs
46
+ logger.info(`Account deployed at ${a.getAddress()}`);
47
+ return wallet;
48
+ }));
49
+ const tokenAdmin = wallets[0];
50
+ const tokenAddress = await deployTokenAndMint(wallets, tokenAdmin.getAddress(), mintAmount, new SponsoredFeePaymentMethod(await getSponsoredFPCAddress()), logger);
51
+ const tokenAdminWallet = await TokenContract.at(tokenAddress, tokenAdmin);
52
+ return {
53
+ pxe,
54
+ wallets,
55
+ tokenAdminAddress: tokenAdmin.getAddress(),
56
+ tokenAdminWallet,
57
+ tokenName: TOKEN_NAME,
58
+ tokenAddress,
59
+ recipientWallet,
60
+ recipientAddress: recipientWallet.getAddress()
61
+ };
62
+ }
25
63
  export async function deployTestWalletWithTokens(pxeUrl, nodeUrl, l1RpcUrls, mnemonicOrPrivateKey, mintAmount, logger, numberOfFundedWallets = 1) {
26
64
  const pxe = await createCompatibleClient(pxeUrl, logger);
27
65
  const node = createAztecNodeClient(nodeUrl);
@@ -45,15 +83,17 @@ export async function deployTestWalletWithTokens(pxeUrl, nodeUrl, l1RpcUrls, mne
45
83
  return wallet;
46
84
  }));
47
85
  const tokenAdmin = wallets[0];
48
- const tokenAddress = await deployTokenAndMint(wallets, tokenAdmin.getAddress(), mintAmount, logger);
86
+ const tokenAddress = await deployTokenAndMint(wallets, tokenAdmin.getAddress(), mintAmount, undefined, logger);
49
87
  const tokenAdminWallet = await TokenContract.at(tokenAddress, tokenAdmin);
50
88
  return {
51
89
  pxe,
52
90
  wallets,
91
+ tokenAdminAddress: tokenAdmin.getAddress(),
53
92
  tokenAdminWallet,
54
93
  tokenName: TOKEN_NAME,
55
94
  tokenAddress,
56
- recipientWallet
95
+ recipientWallet,
96
+ recipientAddress: recipientWallet.getAddress()
57
97
  };
58
98
  }
59
99
  async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, pxe, recipient, amount, log) {
@@ -71,17 +111,38 @@ async function bridgeL1FeeJuice(l1RpcUrls, mnemonicOrPrivateKey, pxe, recipient,
71
111
  }
72
112
  async function advanceL2Block(node, nodeAdmin) {
73
113
  const initialBlockNumber = await node.getBlockNumber();
74
- await nodeAdmin?.flushTxs();
114
+ let minTxsPerBlock = undefined;
115
+ if (nodeAdmin) {
116
+ ({ minTxsPerBlock } = await nodeAdmin.getConfig());
117
+ await nodeAdmin.setConfig({
118
+ minTxsPerBlock: 0
119
+ }); // Set to 0 to ensure we can advance the block
120
+ }
75
121
  await retryUntil(async ()=>await node.getBlockNumber() >= initialBlockNumber + 1);
122
+ if (nodeAdmin && minTxsPerBlock !== undefined) {
123
+ await nodeAdmin.setConfig({
124
+ minTxsPerBlock
125
+ });
126
+ }
76
127
  }
77
- async function deployTokenAndMint(wallets, admin, mintAmount, logger) {
128
+ async function deployTokenAndMint(wallets, admin, mintAmount, paymentMethod, logger) {
78
129
  logger.verbose(`Deploying TokenContract...`);
79
- const tokenContract = await TokenContract.deploy(wallets[0], admin, TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS).send().deployed({
130
+ const tokenContract = await TokenContract.deploy(wallets[0], admin, TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS).send({
131
+ from: admin,
132
+ fee: {
133
+ paymentMethod
134
+ }
135
+ }).deployed({
80
136
  timeout: 600
81
137
  });
82
138
  const tokenAddress = tokenContract.address;
83
139
  logger.verbose(`Minting ${mintAmount} public assets to the ${wallets.length} wallets...`);
84
- await Promise.all(wallets.map(async (w)=>(await TokenContract.at(tokenAddress, w)).methods.mint_to_public(w.getAddress(), mintAmount).send().wait({
140
+ await Promise.all(wallets.map(async (w)=>(await TokenContract.at(tokenAddress, w)).methods.mint_to_public(w.getAddress(), mintAmount).send({
141
+ from: admin,
142
+ fee: {
143
+ paymentMethod
144
+ }
145
+ }).wait({
85
146
  timeout: 600
86
147
  })));
87
148
  logger.verbose(`Minting complete.`);
@@ -90,11 +151,35 @@ async function deployTokenAndMint(wallets, admin, mintAmount, logger) {
90
151
  export async function performTransfers({ testWallets, rounds, transferAmount, logger }) {
91
152
  const recipient = testWallets.recipientWallet.getAddress();
92
153
  for(let i = 0; i < rounds; i++){
93
- const interactions = await Promise.all(testWallets.wallets.map(async (w)=>(await TokenContract.at(testWallets.tokenAddress, w)).methods.transfer_in_public(w.getAddress(), recipient, transferAmount, 0)));
94
- const txs = await Promise.all(interactions.map(async (i)=>await i.prove()));
95
- await Promise.all(txs.map((t)=>t.send().wait({
154
+ const txs = testWallets.wallets.map(async (w)=>(await TokenContract.at(testWallets.tokenAddress, w)).methods.transfer_in_public(w.getAddress(), recipient, transferAmount, 0).prove({
155
+ from: w.getAddress()
156
+ }));
157
+ const provenTxs = await Promise.all(txs);
158
+ await Promise.all(provenTxs.map((t)=>t.send().wait({
96
159
  timeout: 600
97
160
  })));
98
161
  logger.info(`Completed round ${i + 1} / ${rounds}`);
99
162
  }
100
163
  }
164
+ export async function startCompatiblePXE(nodeUrl, proverEnabled, logger) {
165
+ const node = createAztecNodeClient(nodeUrl);
166
+ const [bbConfig, acvmConfig] = await Promise.all([
167
+ getBBConfig(logger),
168
+ getACVMConfig(logger)
169
+ ]);
170
+ const pxe = await createPXEService(node, {
171
+ dataDirectory: undefined,
172
+ dataStoreMapSizeKB: 1024 * 1024,
173
+ ...bbConfig,
174
+ ...acvmConfig,
175
+ proverEnabled
176
+ });
177
+ return {
178
+ pxe,
179
+ async cleanup () {
180
+ await pxe.stop();
181
+ await bbConfig?.cleanup();
182
+ await acvmConfig?.cleanup();
183
+ }
184
+ };
185
+ }
@@ -1,4 +1,4 @@
1
- import type { RollupCheatCodes } from '@aztec/aztec.js/testing';
1
+ import type { RollupCheatCodes } from '@aztec/aztec/testing';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import type { SequencerConfig } from '@aztec/sequencer-client';
4
4
  import { ChildProcess } from 'child_process';
@@ -9,6 +9,7 @@ declare const k8sLocalConfigSchema: z.ZodObject<{
9
9
  AZTEC_SLOT_DURATION: z.ZodNumber;
10
10
  AZTEC_EPOCH_DURATION: z.ZodNumber;
11
11
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodNumber;
12
+ AZTEC_REAL_PROOFS: z.ZodDefault<z.ZodString>;
12
13
  INSTANCE_NAME: z.ZodString;
13
14
  NAMESPACE: z.ZodString;
14
15
  CONTAINER_NODE_PORT: z.ZodDefault<z.ZodNumber>;
@@ -30,6 +31,7 @@ declare const k8sLocalConfigSchema: z.ZodObject<{
30
31
  AZTEC_SLOT_DURATION: number;
31
32
  AZTEC_EPOCH_DURATION: number;
32
33
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
34
+ AZTEC_REAL_PROOFS: string;
33
35
  INSTANCE_NAME: string;
34
36
  NAMESPACE: string;
35
37
  CONTAINER_NODE_PORT: number;
@@ -56,6 +58,7 @@ declare const k8sLocalConfigSchema: z.ZodObject<{
56
58
  SPARTAN_DIR: string;
57
59
  K8S: "local";
58
60
  ETHEREUM_HOSTS?: string | undefined;
61
+ AZTEC_REAL_PROOFS?: string | undefined;
59
62
  CONTAINER_NODE_PORT?: number | undefined;
60
63
  CONTAINER_NODE_ADMIN_PORT?: number | undefined;
61
64
  CONTAINER_SEQUENCER_PORT?: number | undefined;
@@ -73,6 +76,7 @@ declare const k8sGCloudConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
73
76
  AZTEC_SLOT_DURATION: z.ZodNumber;
74
77
  AZTEC_EPOCH_DURATION: z.ZodNumber;
75
78
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodNumber;
79
+ AZTEC_REAL_PROOFS: z.ZodDefault<z.ZodString>;
76
80
  INSTANCE_NAME: z.ZodString;
77
81
  NAMESPACE: z.ZodString;
78
82
  CONTAINER_NODE_PORT: z.ZodDefault<z.ZodNumber>;
@@ -93,11 +97,13 @@ declare const k8sGCloudConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
93
97
  K8S: z.ZodLiteral<"gcloud">;
94
98
  CLUSTER_NAME: z.ZodString;
95
99
  REGION: z.ZodString;
100
+ PROJECT_ID: z.ZodString;
96
101
  }>, "strip", z.ZodTypeAny, {
97
102
  ETHEREUM_SLOT_DURATION: number;
98
103
  AZTEC_SLOT_DURATION: number;
99
104
  AZTEC_EPOCH_DURATION: number;
100
105
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
106
+ AZTEC_REAL_PROOFS: string;
101
107
  INSTANCE_NAME: string;
102
108
  NAMESPACE: string;
103
109
  CONTAINER_NODE_PORT: number;
@@ -114,6 +120,7 @@ declare const k8sGCloudConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
114
120
  K8S: "gcloud";
115
121
  CLUSTER_NAME: string;
116
122
  REGION: string;
123
+ PROJECT_ID: string;
117
124
  ETHEREUM_HOSTS?: string | undefined;
118
125
  GRAFANA_PASSWORD?: string | undefined;
119
126
  }, {
@@ -127,7 +134,9 @@ declare const k8sGCloudConfigSchema: z.ZodObject<z.objectUtil.extendShape<{
127
134
  K8S: "gcloud";
128
135
  CLUSTER_NAME: string;
129
136
  REGION: string;
137
+ PROJECT_ID: string;
130
138
  ETHEREUM_HOSTS?: string | undefined;
139
+ AZTEC_REAL_PROOFS?: string | undefined;
131
140
  CONTAINER_NODE_PORT?: number | undefined;
132
141
  CONTAINER_NODE_ADMIN_PORT?: number | undefined;
133
142
  CONTAINER_SEQUENCER_PORT?: number | undefined;
@@ -164,6 +173,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
164
173
  AZTEC_SLOT_DURATION: z.ZodNumber;
165
174
  AZTEC_EPOCH_DURATION: z.ZodNumber;
166
175
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodNumber;
176
+ AZTEC_REAL_PROOFS: z.ZodDefault<z.ZodString>;
167
177
  INSTANCE_NAME: z.ZodString;
168
178
  NAMESPACE: z.ZodString;
169
179
  CONTAINER_NODE_PORT: z.ZodDefault<z.ZodNumber>;
@@ -185,6 +195,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
185
195
  AZTEC_SLOT_DURATION: number;
186
196
  AZTEC_EPOCH_DURATION: number;
187
197
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
198
+ AZTEC_REAL_PROOFS: string;
188
199
  INSTANCE_NAME: string;
189
200
  NAMESPACE: string;
190
201
  CONTAINER_NODE_PORT: number;
@@ -211,6 +222,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
211
222
  SPARTAN_DIR: string;
212
223
  K8S: "local";
213
224
  ETHEREUM_HOSTS?: string | undefined;
225
+ AZTEC_REAL_PROOFS?: string | undefined;
214
226
  CONTAINER_NODE_PORT?: number | undefined;
215
227
  CONTAINER_NODE_ADMIN_PORT?: number | undefined;
216
228
  CONTAINER_SEQUENCER_PORT?: number | undefined;
@@ -227,6 +239,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
227
239
  AZTEC_SLOT_DURATION: z.ZodNumber;
228
240
  AZTEC_EPOCH_DURATION: z.ZodNumber;
229
241
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodNumber;
242
+ AZTEC_REAL_PROOFS: z.ZodDefault<z.ZodString>;
230
243
  INSTANCE_NAME: z.ZodString;
231
244
  NAMESPACE: z.ZodString;
232
245
  CONTAINER_NODE_PORT: z.ZodDefault<z.ZodNumber>;
@@ -247,11 +260,13 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
247
260
  K8S: z.ZodLiteral<"gcloud">;
248
261
  CLUSTER_NAME: z.ZodString;
249
262
  REGION: z.ZodString;
263
+ PROJECT_ID: z.ZodString;
250
264
  }>, "strip", z.ZodTypeAny, {
251
265
  ETHEREUM_SLOT_DURATION: number;
252
266
  AZTEC_SLOT_DURATION: number;
253
267
  AZTEC_EPOCH_DURATION: number;
254
268
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
269
+ AZTEC_REAL_PROOFS: string;
255
270
  INSTANCE_NAME: string;
256
271
  NAMESPACE: string;
257
272
  CONTAINER_NODE_PORT: number;
@@ -268,6 +283,7 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
268
283
  K8S: "gcloud";
269
284
  CLUSTER_NAME: string;
270
285
  REGION: string;
286
+ PROJECT_ID: string;
271
287
  ETHEREUM_HOSTS?: string | undefined;
272
288
  GRAFANA_PASSWORD?: string | undefined;
273
289
  }, {
@@ -281,7 +297,9 @@ declare const envSchema: z.ZodDiscriminatedUnion<"K8S", [z.ZodObject<{
281
297
  K8S: "gcloud";
282
298
  CLUSTER_NAME: string;
283
299
  REGION: string;
300
+ PROJECT_ID: string;
284
301
  ETHEREUM_HOSTS?: string | undefined;
302
+ AZTEC_REAL_PROOFS?: string | undefined;
285
303
  CONTAINER_NODE_PORT?: number | undefined;
286
304
  CONTAINER_NODE_ADMIN_PORT?: number | undefined;
287
305
  CONTAINER_SEQUENCER_PORT?: number | undefined;
@@ -344,10 +362,11 @@ export declare function deleteResourceByName({ resource, namespace, name, force,
344
362
  name: string;
345
363
  force?: boolean;
346
364
  }): Promise<string>;
347
- export declare function deleteResourceByLabel({ resource, namespace, label, }: {
365
+ export declare function deleteResourceByLabel({ resource, namespace, label, timeout, }: {
348
366
  resource: string;
349
367
  namespace: string;
350
368
  label: string;
369
+ timeout?: string;
351
370
  }): Promise<string>;
352
371
  export declare function waitForResourceByLabel({ resource, label, namespace, condition, timeout, }: {
353
372
  resource: string;
@@ -407,10 +426,11 @@ export declare function applyBootNodeFailure({ namespace, spartanDir, durationSe
407
426
  durationSeconds: number;
408
427
  logger: Logger;
409
428
  }): Promise<string>;
410
- export declare function applyValidatorKill({ namespace, spartanDir, logger, }: {
429
+ export declare function applyValidatorKill({ namespace, spartanDir, logger, values, }: {
411
430
  namespace: string;
412
431
  spartanDir: string;
413
432
  logger: Logger;
433
+ values?: Record<string, string | number>;
414
434
  }): Promise<string>;
415
435
  export declare function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger, }: {
416
436
  valuesFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/spartan/utils.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ const k8sLocalConfigSchema = z.object({
21
21
  AZTEC_SLOT_DURATION: z.coerce.number().min(1, 'AZTEC_SLOT_DURATION env variable must be set'),
22
22
  AZTEC_EPOCH_DURATION: z.coerce.number().min(1, 'AZTEC_EPOCH_DURATION env variable must be set'),
23
23
  AZTEC_PROOF_SUBMISSION_WINDOW: z.coerce.number().min(1, 'AZTEC_PROOF_SUBMISSION_WINDOW env variable must be set'),
24
+ AZTEC_REAL_PROOFS: z.string().default('false'),
24
25
  INSTANCE_NAME: z.string().min(1, 'INSTANCE_NAME env variable must be set'),
25
26
  NAMESPACE: z.string().min(1, 'NAMESPACE env variable must be set'),
26
27
  CONTAINER_NODE_PORT: z.coerce.number().default(8080),
@@ -41,7 +42,8 @@ const k8sLocalConfigSchema = z.object({
41
42
  const k8sGCloudConfigSchema = k8sLocalConfigSchema.extend({
42
43
  K8S: z.literal('gcloud'),
43
44
  CLUSTER_NAME: z.string().min(1, 'CLUSTER_NAME env variable must be set'),
44
- REGION: z.string().min(1, 'REGION env variable must be set')
45
+ REGION: z.string().min(1, 'REGION env variable must be set'),
46
+ PROJECT_ID: z.string().min(1, 'PROJECT_ID env variable must be set')
45
47
  });
46
48
  const directConfigSchema = z.object({
47
49
  PXE_URL: z.string().url('PXE_URL must be a valid URL'),
@@ -64,7 +66,7 @@ export function isGCloudConfig(config) {
64
66
  export function setupEnvironment(env) {
65
67
  const config = envSchema.parse(env);
66
68
  if (isGCloudConfig(config)) {
67
- const command = `gcloud container clusters get-credentials ${config.CLUSTER_NAME} --region=${config.REGION}`;
69
+ const command = `gcloud container clusters get-credentials ${config.CLUSTER_NAME} --region=${config.REGION} --project=${config.PROJECT_ID}`;
68
70
  execSync(command);
69
71
  }
70
72
  return config;
@@ -188,8 +190,8 @@ export async function deleteResourceByName({ resource, namespace, name, force =
188
190
  const { stdout } = await execAsync(command);
189
191
  return stdout;
190
192
  }
191
- export async function deleteResourceByLabel({ resource, namespace, label }) {
192
- const command = `kubectl delete ${resource} -l ${label} -n ${namespace} --ignore-not-found=true --wait=true`;
193
+ export async function deleteResourceByLabel({ resource, namespace, label, timeout = '5m' }) {
194
+ const command = `kubectl delete ${resource} -l ${label} -n ${namespace} --ignore-not-found=true --wait=true --timeout=${timeout}`;
193
195
  logger.info(`command: ${command}`);
194
196
  const { stdout } = await execAsync(command);
195
197
  return stdout;
@@ -310,13 +312,14 @@ export function applyBootNodeFailure({ namespace, spartanDir, durationSeconds, l
310
312
  logger
311
313
  });
312
314
  }
313
- export function applyValidatorKill({ namespace, spartanDir, logger }) {
315
+ export function applyValidatorKill({ namespace, spartanDir, logger, values }) {
314
316
  return installChaosMeshChart({
315
317
  instanceName: 'validator-kill',
316
318
  targetNamespace: namespace,
317
319
  valuesFile: 'validator-kill.yaml',
318
320
  helmChartDir: getChartDir(spartanDir, 'aztec-chaos-scenarios'),
319
- logger
321
+ logger,
322
+ values
320
323
  });
321
324
  }
322
325
  export function applyNetworkShaping({ valuesFile, namespace, spartanDir, logger }) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "1.2.1",
3
+ "version": "2.0.0-nightly.20250813",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -25,43 +25,43 @@
25
25
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
26
26
  },
27
27
  "dependencies": {
28
- "@aztec/accounts": "1.2.1",
29
- "@aztec/archiver": "1.2.1",
30
- "@aztec/aztec": "1.2.1",
31
- "@aztec/aztec-node": "1.2.1",
32
- "@aztec/aztec.js": "1.2.1",
33
- "@aztec/bb-prover": "1.2.1",
34
- "@aztec/blob-lib": "1.2.1",
35
- "@aztec/blob-sink": "1.2.1",
36
- "@aztec/bot": "1.2.1",
37
- "@aztec/cli": "1.2.1",
38
- "@aztec/constants": "1.2.1",
39
- "@aztec/entrypoints": "1.2.1",
40
- "@aztec/epoch-cache": "1.2.1",
41
- "@aztec/ethereum": "1.2.1",
42
- "@aztec/foundation": "1.2.1",
43
- "@aztec/kv-store": "1.2.1",
44
- "@aztec/l1-artifacts": "1.2.1",
45
- "@aztec/merkle-tree": "1.2.1",
46
- "@aztec/noir-contracts.js": "1.2.1",
47
- "@aztec/noir-noirc_abi": "1.2.1",
48
- "@aztec/noir-protocol-circuits-types": "1.2.1",
49
- "@aztec/noir-test-contracts.js": "1.2.1",
50
- "@aztec/p2p": "1.2.1",
51
- "@aztec/protocol-contracts": "1.2.1",
52
- "@aztec/prover-client": "1.2.1",
53
- "@aztec/prover-node": "1.2.1",
54
- "@aztec/pxe": "1.2.1",
55
- "@aztec/sequencer-client": "1.2.1",
56
- "@aztec/simulator": "1.2.1",
57
- "@aztec/slasher": "1.2.1",
58
- "@aztec/stdlib": "1.2.1",
59
- "@aztec/telemetry-client": "1.2.1",
60
- "@aztec/validator-client": "1.2.1",
61
- "@aztec/world-state": "1.2.1",
28
+ "@aztec/accounts": "2.0.0-nightly.20250813",
29
+ "@aztec/archiver": "2.0.0-nightly.20250813",
30
+ "@aztec/aztec": "2.0.0-nightly.20250813",
31
+ "@aztec/aztec-node": "2.0.0-nightly.20250813",
32
+ "@aztec/aztec.js": "2.0.0-nightly.20250813",
33
+ "@aztec/bb-prover": "2.0.0-nightly.20250813",
34
+ "@aztec/blob-lib": "2.0.0-nightly.20250813",
35
+ "@aztec/blob-sink": "2.0.0-nightly.20250813",
36
+ "@aztec/bot": "2.0.0-nightly.20250813",
37
+ "@aztec/cli": "2.0.0-nightly.20250813",
38
+ "@aztec/constants": "2.0.0-nightly.20250813",
39
+ "@aztec/entrypoints": "2.0.0-nightly.20250813",
40
+ "@aztec/epoch-cache": "2.0.0-nightly.20250813",
41
+ "@aztec/ethereum": "2.0.0-nightly.20250813",
42
+ "@aztec/foundation": "2.0.0-nightly.20250813",
43
+ "@aztec/kv-store": "2.0.0-nightly.20250813",
44
+ "@aztec/l1-artifacts": "2.0.0-nightly.20250813",
45
+ "@aztec/merkle-tree": "2.0.0-nightly.20250813",
46
+ "@aztec/noir-contracts.js": "2.0.0-nightly.20250813",
47
+ "@aztec/noir-noirc_abi": "2.0.0-nightly.20250813",
48
+ "@aztec/noir-protocol-circuits-types": "2.0.0-nightly.20250813",
49
+ "@aztec/noir-test-contracts.js": "2.0.0-nightly.20250813",
50
+ "@aztec/p2p": "2.0.0-nightly.20250813",
51
+ "@aztec/protocol-contracts": "2.0.0-nightly.20250813",
52
+ "@aztec/prover-client": "2.0.0-nightly.20250813",
53
+ "@aztec/prover-node": "2.0.0-nightly.20250813",
54
+ "@aztec/pxe": "2.0.0-nightly.20250813",
55
+ "@aztec/sequencer-client": "2.0.0-nightly.20250813",
56
+ "@aztec/simulator": "2.0.0-nightly.20250813",
57
+ "@aztec/slasher": "2.0.0-nightly.20250813",
58
+ "@aztec/stdlib": "2.0.0-nightly.20250813",
59
+ "@aztec/telemetry-client": "2.0.0-nightly.20250813",
60
+ "@aztec/validator-client": "2.0.0-nightly.20250813",
61
+ "@aztec/world-state": "2.0.0-nightly.20250813",
62
62
  "@iarna/toml": "^2.2.5",
63
63
  "@jest/globals": "^30.0.0",
64
- "@noble/curves": "^1.0.0",
64
+ "@noble/curves": "=1.0.0",
65
65
  "@swc/core": "^1.4.11",
66
66
  "@swc/jest": "^0.2.36",
67
67
  "@types/fs-extra": "^11.0.2",
@@ -36,7 +36,8 @@ const GATE_TYPES = [
36
36
  'arithmetic',
37
37
  'delta_range',
38
38
  'elliptic',
39
- 'aux',
39
+ 'memory',
40
+ 'nnf',
40
41
  'poseidon2_external',
41
42
  'poseidon2_internal',
42
43
  'overflow',
@@ -126,9 +127,13 @@ type ClientFlowBenchmark = {
126
127
  };
127
128
 
128
129
  function getMinimumTrace(logs: Log[]): StructuredTrace {
130
+ const LOG_MESSAGE_CANDIDATE_PADDING = 5;
129
131
  const minimumMessage = 'Minimum required block sizes for structured trace';
130
132
  const minimumMessageIndex = logs.findIndex(log => log.message.includes(minimumMessage));
131
- const candidateLogs = logs.slice(minimumMessageIndex - GATE_TYPES.length, minimumMessageIndex + 5);
133
+ const candidateLogs = logs.slice(
134
+ minimumMessageIndex - GATE_TYPES.length,
135
+ minimumMessageIndex + LOG_MESSAGE_CANDIDATE_PADDING,
136
+ );
132
137
 
133
138
  const traceLogs = candidateLogs
134
139
  .filter(log => GATE_TYPES.some(type => log.message.includes(type)))
@@ -296,7 +301,7 @@ export function convertProfileToGHBenchmark(benchmark: ClientFlowBenchmark): Git
296
301
  export async function captureProfile(
297
302
  label: string,
298
303
  interaction: ContractFunctionInteraction | DeployMethod,
299
- opts?: Omit<ProfileMethodOptions & DeployOptions, 'profileMode'>,
304
+ opts: Omit<ProfileMethodOptions & DeployOptions, 'profileMode'>,
300
305
  expectedSteps?: number,
301
306
  ) {
302
307
  // Make sure the proxy logger starts from a clean slate
@@ -15,7 +15,7 @@ import {
15
15
  type Wallet,
16
16
  createLogger,
17
17
  } from '@aztec/aztec.js';
18
- import { CheatCodes } from '@aztec/aztec.js/testing';
18
+ import { CheatCodes } from '@aztec/aztec/testing';
19
19
  import { FEE_FUNDING_FOR_TESTER_ACCOUNT } from '@aztec/constants';
20
20
  import { type DeployL1ContractsArgs, RollupContract, createExtendedL1Client, deployL1Contract } from '@aztec/ethereum';
21
21
  import { ChainMonitor } from '@aztec/ethereum/test';
@@ -145,7 +145,7 @@ export class ClientFlowsBenchmark {
145
145
  await context.aztecNode.setConfig({ feeRecipient: this.sequencerAddress, coinbase: this.coinbase });
146
146
 
147
147
  const rollupContract = RollupContract.getFromConfig(context.aztecNodeConfig);
148
- this.chainMonitor = new ChainMonitor(rollupContract, this.logger, 200).start();
148
+ this.chainMonitor = new ChainMonitor(rollupContract, context.dateProvider, this.logger, 200).start();
149
149
 
150
150
  return this;
151
151
  }
@@ -158,16 +158,20 @@ export class ClientFlowsBenchmark {
158
158
  async mintAndBridgeFeeJuice(address: AztecAddress, amount: bigint) {
159
159
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(amount, address);
160
160
  const { claimSecret: secret, messageLeafIndex: index } = claim;
161
- await this.feeJuiceContract.methods.claim(address, amount, secret, index).send().wait();
161
+ await this.feeJuiceContract.methods.claim(address, amount, secret, index).send({ from: this.adminAddress }).wait();
162
162
  }
163
163
 
164
164
  /** Admin mints bananaCoin tokens privately to the target address and redeems them. */
165
165
  async mintPrivateBananas(amount: bigint, address: AztecAddress) {
166
- const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate();
166
+ const balanceBefore = await this.bananaCoin.methods
167
+ .balance_of_private(address)
168
+ .simulate({ from: this.adminAddress });
167
169
 
168
- await mintTokensToPrivate(this.bananaCoin, this.adminWallet, address, amount);
170
+ await mintTokensToPrivate(this.bananaCoin, this.adminAddress, this.adminWallet, address, amount);
169
171
 
170
- const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate();
172
+ const balanceAfter = await this.bananaCoin.methods
173
+ .balance_of_private(address)
174
+ .simulate({ from: this.adminAddress });
171
175
  expect(balanceAfter).toEqual(balanceBefore + amount);
172
176
  }
173
177
 
@@ -259,7 +263,7 @@ export class ClientFlowsBenchmark {
259
263
  'deploy_banana_token',
260
264
  async () => {
261
265
  const bananaCoin = await BananaCoin.deploy(this.adminWallet, this.adminAddress, 'BC', 'BC', 18n)
262
- .send()
266
+ .send({ from: this.adminAddress })
263
267
  .deployed();
264
268
  this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
265
269
  return { bananaCoinAddress: bananaCoin.address };
@@ -275,7 +279,7 @@ export class ClientFlowsBenchmark {
275
279
  'deploy_candy_bar_token',
276
280
  async () => {
277
281
  const candyBarCoin = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'CBC', 'CBC', 18n)
278
- .send()
282
+ .send({ from: this.adminAddress })
279
283
  .deployed();
280
284
  this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
281
285
  return { candyBarCoinAddress: candyBarCoin.address };
@@ -291,16 +295,20 @@ export class ClientFlowsBenchmark {
291
295
  'fpc_setup',
292
296
  async context => {
293
297
  const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
294
- expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPubliclyDeployed).toBe(true);
298
+ expect((await context.pxe.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
295
299
 
296
300
  const bananaCoin = this.bananaCoin;
297
301
  const bananaFPC = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress)
298
- .send()
302
+ .send({ from: this.adminAddress })
299
303
  .deployed();
300
304
 
301
305
  this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
302
306
 
303
- await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(FEE_FUNDING_FOR_TESTER_ACCOUNT, bananaFPC.address);
307
+ await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(
308
+ FEE_FUNDING_FOR_TESTER_ACCOUNT,
309
+ bananaFPC.address,
310
+ this.adminAddress,
311
+ );
304
312
 
305
313
  return { bananaFPCAddress: bananaFPC.address };
306
314
  },
@@ -339,6 +347,7 @@ export class ClientFlowsBenchmark {
339
347
  this.pxe,
340
348
  l1Client,
341
349
  owner,
350
+ owner.getAddress(),
342
351
  this.logger,
343
352
  underlyingERC20Address,
344
353
  );
@@ -378,7 +387,7 @@ export class ClientFlowsBenchmark {
378
387
  'deploy_amm',
379
388
  async () => {
380
389
  const liquidityToken = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'LPT', 'LPT', 18n)
381
- .send()
390
+ .send({ from: this.adminAddress })
382
391
  .deployed();
383
392
  const amm = await AMMContract.deploy(
384
393
  this.adminWallet,
@@ -386,10 +395,10 @@ export class ClientFlowsBenchmark {
386
395
  this.candyBarCoin.address,
387
396
  liquidityToken.address,
388
397
  )
389
- .send()
398
+ .send({ from: this.adminAddress })
390
399
  .deployed();
391
400
  this.logger.info(`AMM deployed at ${amm.address}`);
392
- await liquidityToken.methods.set_minter(amm.address, true).send().wait();
401
+ await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress }).wait();
393
402
  return { ammAddress: amm.address, liquidityTokenAddress: liquidityToken.address };
394
403
  },
395
404
  async ({ ammAddress, liquidityTokenAddress }) => {