@aztec/end-to-end 0.0.1-commit.343b43af6 → 0.0.1-commit.35158ae7e

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 (40) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +1 -1
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +2 -2
  4. package/dest/e2e_epochs/epochs_test.d.ts +3 -1
  5. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  6. package/dest/e2e_epochs/epochs_test.js +3 -1
  7. package/dest/fixtures/e2e_prover_test.d.ts +4 -3
  8. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  9. package/dest/fixtures/e2e_prover_test.js +3 -5
  10. package/dest/fixtures/get_bb_config.d.ts +1 -1
  11. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  12. package/dest/fixtures/get_bb_config.js +5 -5
  13. package/dest/fixtures/setup.d.ts +1 -1
  14. package/dest/fixtures/setup.d.ts.map +1 -1
  15. package/dest/fixtures/setup.js +12 -9
  16. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  17. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  18. package/dest/shared/uniswap_l1_l2.js +9 -12
  19. package/dest/simulators/lending_simulator.d.ts +1 -1
  20. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  21. package/dest/simulators/lending_simulator.js +2 -2
  22. package/dest/simulators/token_simulator.js +1 -1
  23. package/dest/spartan/setup_test_wallets.d.ts +1 -1
  24. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  25. package/dest/spartan/setup_test_wallets.js +58 -7
  26. package/dest/test-wallet/test_wallet.d.ts +10 -17
  27. package/dest/test-wallet/test_wallet.d.ts.map +1 -1
  28. package/dest/test-wallet/test_wallet.js +47 -48
  29. package/dest/test-wallet/worker_wallet_schema.d.ts +2 -2
  30. package/package.json +39 -40
  31. package/src/bench/client_flows/client_flows_benchmark.ts +2 -1
  32. package/src/e2e_epochs/epochs_test.ts +13 -2
  33. package/src/fixtures/e2e_prover_test.ts +5 -11
  34. package/src/fixtures/get_bb_config.ts +7 -6
  35. package/src/fixtures/setup.ts +11 -8
  36. package/src/shared/uniswap_l1_l2.ts +29 -24
  37. package/src/simulators/lending_simulator.ts +4 -2
  38. package/src/simulators/token_simulator.ts +1 -1
  39. package/src/spartan/setup_test_wallets.ts +53 -7
  40. package/src/test-wallet/test_wallet.ts +60 -65
@@ -1,4 +1,5 @@
1
1
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
2
+ import { NO_FROM } from '@aztec/aztec.js/account';
2
3
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
4
  import { NO_WAIT } from '@aztec/aztec.js/contracts';
4
5
  import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
@@ -8,7 +9,7 @@ import { Fr } from '@aztec/aztec.js/fields';
8
9
  import { createAztecNodeClient, waitForTx } from '@aztec/aztec.js/node';
9
10
  import { createEthereumChain } from '@aztec/ethereum/chain';
10
11
  import { createExtendedL1Client } from '@aztec/ethereum/client';
11
- import { retryUntil } from '@aztec/foundation/retry';
12
+ import { makeBackoff, retry, retryUntil } from '@aztec/foundation/retry';
12
13
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
13
14
  import { registerInitialLocalNetworkAccountsInWallet } from '@aztec/wallets/testing';
14
15
  import { getACVMConfig } from '../fixtures/get_acvm_config.js';
@@ -47,7 +48,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
47
48
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
48
49
  const recipientDeployMethod = await recipientAccount.getDeployMethod();
49
50
  await recipientDeployMethod.send({
50
- from: AztecAddress.ZERO,
51
+ from: NO_FROM,
51
52
  fee: {
52
53
  paymentMethod
53
54
  },
@@ -58,7 +59,7 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
58
59
  await Promise.all(fundedAccounts.map(async (a)=>{
59
60
  const deployMethod = await a.getDeployMethod();
60
61
  await deployMethod.send({
61
- from: AztecAddress.ZERO,
62
+ from: NO_FROM,
62
63
  fee: {
63
64
  paymentMethod
64
65
  },
@@ -85,11 +86,11 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
85
86
  async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel, estimateGas) {
86
87
  const deployMethod = await account.getDeployMethod();
87
88
  let txHash;
89
+ let gasSettings;
88
90
  try {
89
- let gasSettings;
90
91
  if (estimateGas) {
91
92
  const sim = await deployMethod.simulate({
92
- from: AztecAddress.ZERO,
93
+ from: NO_FROM,
93
94
  fee: {
94
95
  paymentMethod
95
96
  }
@@ -98,7 +99,7 @@ async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, l
98
99
  logger.info(`${accountLabel} estimated gas: DA=${gasSettings.gasLimits.daGas} L2=${gasSettings.gasLimits.l2Gas}`);
99
100
  }
100
101
  const deployResult = await deployMethod.send({
101
- from: AztecAddress.ZERO,
102
+ from: NO_FROM,
102
103
  fee: {
103
104
  paymentMethod,
104
105
  gasSettings
@@ -126,6 +127,56 @@ async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, l
126
127
  });
127
128
  throw error;
128
129
  }
130
+ // Track the tx hash across retries so we don't re-send when the previous tx is still pending.
131
+ let sentTxHash;
132
+ await retry(async ()=>{
133
+ // Check if already deployed (handles case where previous attempt succeeded but waitForTx timed out)
134
+ const existing = await aztecNode.getContract(account.address);
135
+ if (existing) {
136
+ logger.info(`${accountLabel} already deployed at ${account.address}, skipping`);
137
+ return;
138
+ }
139
+ // If we already sent a tx, check if it was dropped before deciding to re-send.
140
+ if (sentTxHash) {
141
+ const prevReceipt = await aztecNode.getTxReceipt(sentTxHash.txHash);
142
+ if (prevReceipt.isDropped()) {
143
+ logger.info(`${accountLabel} previous tx ${sentTxHash.txHash} was dropped, re-sending`);
144
+ sentTxHash = undefined;
145
+ } else {
146
+ logger.info(`${accountLabel} previous tx ${sentTxHash.txHash} still pending, waiting again...`);
147
+ }
148
+ }
149
+ if (!sentTxHash) {
150
+ const deployResult = await deployMethod.send({
151
+ from: AztecAddress.ZERO,
152
+ fee: {
153
+ paymentMethod,
154
+ gasSettings
155
+ },
156
+ wait: NO_WAIT
157
+ });
158
+ sentTxHash = {
159
+ txHash: deployResult.txHash
160
+ };
161
+ logger.info(`${accountLabel} tx sent`, {
162
+ txHash: sentTxHash.txHash.toString()
163
+ });
164
+ }
165
+ const receipt = await waitForTx(aztecNode, sentTxHash.txHash, {
166
+ timeout: 600
167
+ });
168
+ if (receipt.isDropped()) {
169
+ sentTxHash = undefined;
170
+ throw new Error(`${accountLabel} tx was dropped, retrying...`);
171
+ }
172
+ logger.info(`${accountLabel} deployed at ${account.address}`);
173
+ }, `deploy ${accountLabel}`, makeBackoff([
174
+ 1,
175
+ 2,
176
+ 4,
177
+ 8,
178
+ 16
179
+ ]), logger);
129
180
  }
130
181
  async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2, estimateGas) {
131
182
  for(let i = 0; i < accounts.length; i += batchSize){
@@ -163,7 +214,7 @@ export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicO
163
214
  const paymentMethod = new FeeJuicePaymentMethodWithClaim(a.address, claims[i]);
164
215
  const deployMethod = await a.getDeployMethod();
165
216
  await deployMethod.send({
166
- from: AztecAddress.ZERO,
217
+ from: NO_FROM,
167
218
  fee: {
168
219
  paymentMethod
169
220
  }
@@ -3,7 +3,7 @@ import { type CallIntent, type ContractFunctionInteractionCallIntent, type Inten
3
3
  import type { AztecNode } from '@aztec/aztec.js/node';
4
4
  import { AccountManager, type SendOptions } from '@aztec/aztec.js/wallet';
5
5
  import { Fq, Fr } from '@aztec/foundation/curves/bn254';
6
- import type { AccessScopes, NotesFilter } from '@aztec/pxe/client/lazy';
6
+ import type { NotesFilter } from '@aztec/pxe/client/lazy';
7
7
  import { type PXEConfig } from '@aztec/pxe/config';
8
8
  import { PXE, type PXECreationOptions } from '@aztec/pxe/server';
9
9
  import { AuthWitness } from '@aztec/stdlib/auth-witness';
@@ -11,7 +11,7 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
11
11
  import type { NoteDao } from '@aztec/stdlib/note';
12
12
  import type { BlockHeader, TxHash, TxReceipt, TxSimulationResult } from '@aztec/stdlib/tx';
13
13
  import { ExecutionPayload } from '@aztec/stdlib/tx';
14
- import { BaseWallet, type FeeOptions } from '@aztec/wallet-sdk/base-wallet';
14
+ import { BaseWallet, type SimulateViaEntrypointOptions } from '@aztec/wallet-sdk/base-wallet';
15
15
  import { AztecNodeProxy, ProvenTx } from './utils.js';
16
16
  /**
17
17
  * Data for generating an account.
@@ -45,16 +45,13 @@ export declare class TestWallet extends BaseWallet {
45
45
  }>;
46
46
  protected accounts: Map<string, Account>;
47
47
  /**
48
- * Toggle for running "simulated simulations" when calling simulateTx.
49
- *
50
- * When this flag is true, simulateViaEntrypoint constructs a request using a fake account
51
- * (and accepts contract overrides on the input) and the PXE emulates kernel effects without
52
- * generating kernel witnesses. When false, simulateViaEntrypoint defers to the standard
53
- * simulation path via the real account entrypoint.
48
+ * Controls how the test wallet simulates transactions:
49
+ * - `kernelless`: Skips kernel circuits but uses the real account contract. Default.
50
+ * - `kernelless-override`: Skips kernels and replaces the account with a stub that doesn't do authwit validation.
51
+ * - `full`: Uses real kernel circuits and real account contracts. Slow!
54
52
  */
55
- private simulatedSimulations;
56
- enableSimulatedSimulations(): void;
57
- disableSimulatedSimulations(): void;
53
+ private simulationMode;
54
+ setSimulationMode(mode: 'kernelless' | 'kernelless-override' | 'full'): void;
58
55
  setMinFeePadding(value?: number): void;
59
56
  protected getAccountFromAddress(address: AztecAddress): Promise<Account>;
60
57
  getAccounts(): Promise<{
@@ -68,11 +65,7 @@ export declare class TestWallet extends BaseWallet {
68
65
  }>;
69
66
  setPublicAuthWit(from: AztecAddress, messageHashOrIntent: Fr | IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent, authorized: boolean): Promise<SetPublicAuthwitContractInteraction>;
70
67
  createAuthWit(from: AztecAddress, intent: IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent): Promise<AuthWitness>;
71
- /**
72
- * Override simulateViaEntrypoint to use fake accounts for kernelless simulation
73
- * when simulatedSimulations is enabled. Otherwise falls through to the real entrypoint path.
74
- */
75
- protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, scopes: AccessScopes, skipTxValidation?: boolean, skipFeeEnforcement?: boolean): Promise<TxSimulationResult>;
68
+ protected simulateViaEntrypoint(executionPayload: ExecutionPayload, opts: SimulateViaEntrypointOptions): Promise<TxSimulationResult>;
76
69
  proveTx(exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>): Promise<ProvenTx>;
77
70
  getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
78
71
  getNotes(filter: NotesFilter): Promise<NoteDao[]>;
@@ -80,4 +73,4 @@ export declare class TestWallet extends BaseWallet {
80
73
  sync(): Promise<void>;
81
74
  stop(): Promise<void>;
82
75
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC90ZXN0X3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssVUFBVSxFQUNmLEtBQUsscUNBQXFDLEVBQzFDLEtBQUssZUFBZSxFQUNwQixtQ0FBbUMsRUFJcEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxrQkFBa0IsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxL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
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC90ZXN0X3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RixPQUFPLEVBQ0wsS0FBSyxVQUFVLEVBQ2YsS0FBSyxxQ0FBcUMsRUFDMUMsS0FBSyxlQUFlLEVBQ3BCLG1DQUFtQyxFQUlwQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUcxRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssa0JBQWtCLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzNELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUNWLFdBQVcsRUFHWCxNQUFNLEVBQ04sU0FBUyxFQUNULGtCQUFrQixFQUNuQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssNEJBQTRC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
@@ -1 +1 @@
1
- {"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/test-wallet/test_wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/test-wallet/test_wallet.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { EcdsaKAccountContract, EcdsaRAccountContract } from '@aztec/accounts/ecdsa';
2
2
  import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
3
3
  import { StubAccountContractArtifact, createStubAccount } from '@aztec/accounts/stub';
4
- import { SignerlessAccount } from '@aztec/aztec.js/account';
4
+ import { NO_FROM } from '@aztec/aztec.js/account';
5
5
  import { SetPublicAuthwitContractInteraction, computeInnerAuthWitHashFromAction, isContractFunctionInteractionCallIntent, lookupValidity } from '@aztec/aztec.js/authorization';
6
6
  import { AccountManager } from '@aztec/aztec.js/wallet';
7
+ import { DefaultEntrypoint } from '@aztec/entrypoints/default';
7
8
  import { Fr } from '@aztec/foundation/curves/bn254';
8
9
  import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
9
10
  import { getPXEConfig } from '@aztec/pxe/config';
10
11
  import { createPXE } from '@aztec/pxe/server';
11
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
12
12
  import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
13
13
  import { deriveSigningKey } from '@aztec/stdlib/keys';
14
14
  import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
@@ -21,7 +21,7 @@ import { AztecNodeProxy, ProvenTx } from './utils.js';
21
21
  */ export class TestWallet extends BaseWallet {
22
22
  nodeRef;
23
23
  constructor(pxe, nodeRef){
24
- super(pxe, nodeRef), this.nodeRef = nodeRef, this.accounts = new Map(), this.simulatedSimulations = false;
24
+ super(pxe, nodeRef), this.nodeRef = nodeRef, this.accounts = new Map(), this.simulationMode = 'kernelless';
25
25
  }
26
26
  static async create(node, overridePXEConfig, options = {
27
27
  loggers: {}
@@ -67,9 +67,6 @@ import { AztecNodeProxy, ProvenTx } from './utils.js';
67
67
  }
68
68
  async getFakeAccountDataFor(address) {
69
69
  const originalAccount = await this.getAccountFromAddress(address);
70
- if (originalAccount instanceof SignerlessAccount) {
71
- throw new Error(`Cannot create fake account data for SignerlessAccount at address: ${address}`);
72
- }
73
70
  const originalAddress = originalAccount.getCompleteAddress();
74
71
  const contractInstance = await this.pxe.getContractInstance(originalAddress.address);
75
72
  if (!contractInstance) {
@@ -87,29 +84,19 @@ import { AztecNodeProxy, ProvenTx } from './utils.js';
87
84
  }
88
85
  accounts;
89
86
  /**
90
- * Toggle for running "simulated simulations" when calling simulateTx.
91
- *
92
- * When this flag is true, simulateViaEntrypoint constructs a request using a fake account
93
- * (and accepts contract overrides on the input) and the PXE emulates kernel effects without
94
- * generating kernel witnesses. When false, simulateViaEntrypoint defers to the standard
95
- * simulation path via the real account entrypoint.
96
- */ simulatedSimulations;
97
- enableSimulatedSimulations() {
98
- this.simulatedSimulations = true;
99
- }
100
- disableSimulatedSimulations() {
101
- this.simulatedSimulations = false;
87
+ * Controls how the test wallet simulates transactions:
88
+ * - `kernelless`: Skips kernel circuits but uses the real account contract. Default.
89
+ * - `kernelless-override`: Skips kernels and replaces the account with a stub that doesn't do authwit validation.
90
+ * - `full`: Uses real kernel circuits and real account contracts. Slow!
91
+ */ simulationMode;
92
+ setSimulationMode(mode) {
93
+ this.simulationMode = mode;
102
94
  }
103
95
  setMinFeePadding(value) {
104
96
  this.minFeePadding = value ?? 0.5;
105
97
  }
106
98
  getAccountFromAddress(address) {
107
- let account;
108
- if (address.equals(AztecAddress.ZERO)) {
109
- account = new SignerlessAccount();
110
- } else {
111
- account = this.accounts.get(address?.toString() ?? '');
112
- }
99
+ const account = this.accounts.get(address?.toString() ?? '');
113
100
  if (!account) {
114
101
  throw new Error(`Account not found in wallet for address: ${address}`);
115
102
  }
@@ -154,39 +141,51 @@ import { AztecNodeProxy, ProvenTx } from './utils.js';
154
141
  }
155
142
  return account.createAuthWit(intentInnerHash, chainInfo);
156
143
  }
157
- /**
158
- * Override simulateViaEntrypoint to use fake accounts for kernelless simulation
159
- * when simulatedSimulations is enabled. Otherwise falls through to the real entrypoint path.
160
- */ async simulateViaEntrypoint(executionPayload, from, feeOptions, scopes, skipTxValidation, skipFeeEnforcement) {
161
- if (!this.simulatedSimulations) {
162
- return super.simulateViaEntrypoint(executionPayload, from, feeOptions, scopes, skipTxValidation, skipFeeEnforcement);
163
- }
144
+ async simulateViaEntrypoint(executionPayload, opts) {
145
+ const { from, feeOptions, scopes, skipTxValidation, skipFeeEnforcement } = opts;
146
+ const skipKernels = this.simulationMode !== 'full';
164
147
  const feeExecutionPayload = await feeOptions.walletFeePaymentMethod?.getExecutionPayload();
165
- const executionOptions = {
166
- txNonce: Fr.random(),
167
- cancellable: this.cancellableTransactions,
168
- feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
169
- };
170
148
  const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
171
149
  feeExecutionPayload,
172
150
  executionPayload
173
151
  ]) : executionPayload;
174
- const { account: fromAccount, instance, artifact } = await this.getFakeAccountDataFor(from);
175
152
  const chainInfo = await this.getChainInfo();
176
- const txRequest = await fromAccount.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
177
- const contractOverrides = {
178
- [from.toString()]: {
179
- instance,
180
- artifact
153
+ let overrides;
154
+ let txRequest;
155
+ if (from === NO_FROM) {
156
+ const entrypoint = new DefaultEntrypoint();
157
+ txRequest = await entrypoint.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo);
158
+ } else {
159
+ const useOverride = this.simulationMode === 'kernelless-override';
160
+ let fromAccount;
161
+ if (useOverride) {
162
+ const { account, instance, artifact } = await this.getFakeAccountDataFor(from);
163
+ fromAccount = account;
164
+ overrides = {
165
+ contracts: {
166
+ [from.toString()]: {
167
+ instance,
168
+ artifact
169
+ }
170
+ }
171
+ };
172
+ } else {
173
+ fromAccount = await this.getAccountFromAddress(from);
181
174
  }
182
- };
175
+ const executionOptions = {
176
+ txNonce: Fr.random(),
177
+ cancellable: this.cancellableTransactions,
178
+ // If from is an address, feeOptions include the way the account contract should handle the fee payment
179
+ feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
180
+ };
181
+ txRequest = await fromAccount.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
182
+ }
183
183
  return this.pxe.simulateTx(txRequest, {
184
184
  simulatePublic: true,
185
- skipFeeEnforcement: true,
186
- skipTxValidation: true,
187
- overrides: {
188
- contracts: contractOverrides
189
- },
185
+ skipKernels,
186
+ skipFeeEnforcement,
187
+ skipTxValidation,
188
+ overrides,
190
189
  scopes
191
190
  });
192
191
  }
@@ -82,7 +82,7 @@ export declare const WorkerWalletSchema: {
82
82
  extraHashedArgs: any[];
83
83
  feePayer?: any;
84
84
  }>, z.ZodObject<{
85
- from: import("@aztec/foundation/schemas").ZodFor<AztecAddress>;
85
+ from: z.ZodUnion<[import("@aztec/foundation/schemas").ZodFor<AztecAddress>, z.ZodLiteral<"NO_FROM">]>;
86
86
  authWitnesses: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodArray<z.ZodType<import("@aztec/stdlib/auth-witness").AuthWitness, any, string>, "many">>;
87
87
  capsules: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodArray<z.ZodType<import("@aztec/stdlib/tx").Capsule, any, string>, "many">>;
88
88
  fee: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodObject<{
@@ -213,7 +213,7 @@ export declare const WorkerWalletSchema: {
213
213
  }>]>>;
214
214
  additionalScopes: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodArray<import("@aztec/foundation/schemas").ZodFor<AztecAddress>, "many">>;
215
215
  }, "strip", z.ZodTypeAny, {
216
- from: AztecAddress;
216
+ from: "NO_FROM" | AztecAddress;
217
217
  authWitnesses?: import("@aztec/stdlib/auth-witness").AuthWitness[] | undefined;
218
218
  capsules?: import("@aztec/stdlib/tx").Capsule[] | undefined;
219
219
  fee?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.0.1-commit.343b43af6",
3
+ "version": "0.0.1-commit.35158ae7e",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -26,45 +26,44 @@
26
26
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/accounts": "0.0.1-commit.343b43af6",
30
- "@aztec/archiver": "0.0.1-commit.343b43af6",
31
- "@aztec/aztec": "0.0.1-commit.343b43af6",
32
- "@aztec/aztec-node": "0.0.1-commit.343b43af6",
33
- "@aztec/aztec.js": "0.0.1-commit.343b43af6",
34
- "@aztec/bb-prover": "0.0.1-commit.343b43af6",
35
- "@aztec/bb.js": "0.0.1-commit.343b43af6",
36
- "@aztec/blob-client": "0.0.1-commit.343b43af6",
37
- "@aztec/blob-lib": "0.0.1-commit.343b43af6",
38
- "@aztec/bot": "0.0.1-commit.343b43af6",
39
- "@aztec/cli": "0.0.1-commit.343b43af6",
40
- "@aztec/constants": "0.0.1-commit.343b43af6",
41
- "@aztec/entrypoints": "0.0.1-commit.343b43af6",
42
- "@aztec/epoch-cache": "0.0.1-commit.343b43af6",
43
- "@aztec/ethereum": "0.0.1-commit.343b43af6",
44
- "@aztec/foundation": "0.0.1-commit.343b43af6",
45
- "@aztec/kv-store": "0.0.1-commit.343b43af6",
46
- "@aztec/l1-artifacts": "0.0.1-commit.343b43af6",
47
- "@aztec/merkle-tree": "0.0.1-commit.343b43af6",
48
- "@aztec/node-keystore": "0.0.1-commit.343b43af6",
49
- "@aztec/noir-contracts.js": "0.0.1-commit.343b43af6",
50
- "@aztec/noir-noirc_abi": "0.0.1-commit.343b43af6",
51
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.343b43af6",
52
- "@aztec/noir-test-contracts.js": "0.0.1-commit.343b43af6",
53
- "@aztec/p2p": "0.0.1-commit.343b43af6",
54
- "@aztec/protocol-contracts": "0.0.1-commit.343b43af6",
55
- "@aztec/prover-client": "0.0.1-commit.343b43af6",
56
- "@aztec/prover-node": "0.0.1-commit.343b43af6",
57
- "@aztec/pxe": "0.0.1-commit.343b43af6",
58
- "@aztec/sequencer-client": "0.0.1-commit.343b43af6",
59
- "@aztec/simulator": "0.0.1-commit.343b43af6",
60
- "@aztec/slasher": "0.0.1-commit.343b43af6",
61
- "@aztec/stdlib": "0.0.1-commit.343b43af6",
62
- "@aztec/telemetry-client": "0.0.1-commit.343b43af6",
63
- "@aztec/validator-client": "0.0.1-commit.343b43af6",
64
- "@aztec/validator-ha-signer": "0.0.1-commit.343b43af6",
65
- "@aztec/wallet-sdk": "0.0.1-commit.343b43af6",
66
- "@aztec/wallets": "0.0.1-commit.343b43af6",
67
- "@aztec/world-state": "0.0.1-commit.343b43af6",
29
+ "@aztec/accounts": "0.0.1-commit.35158ae7e",
30
+ "@aztec/archiver": "0.0.1-commit.35158ae7e",
31
+ "@aztec/aztec": "0.0.1-commit.35158ae7e",
32
+ "@aztec/aztec-node": "0.0.1-commit.35158ae7e",
33
+ "@aztec/aztec.js": "0.0.1-commit.35158ae7e",
34
+ "@aztec/bb-prover": "0.0.1-commit.35158ae7e",
35
+ "@aztec/bb.js": "0.0.1-commit.35158ae7e",
36
+ "@aztec/blob-client": "0.0.1-commit.35158ae7e",
37
+ "@aztec/blob-lib": "0.0.1-commit.35158ae7e",
38
+ "@aztec/bot": "0.0.1-commit.35158ae7e",
39
+ "@aztec/cli": "0.0.1-commit.35158ae7e",
40
+ "@aztec/constants": "0.0.1-commit.35158ae7e",
41
+ "@aztec/entrypoints": "0.0.1-commit.35158ae7e",
42
+ "@aztec/epoch-cache": "0.0.1-commit.35158ae7e",
43
+ "@aztec/ethereum": "0.0.1-commit.35158ae7e",
44
+ "@aztec/foundation": "0.0.1-commit.35158ae7e",
45
+ "@aztec/kv-store": "0.0.1-commit.35158ae7e",
46
+ "@aztec/l1-artifacts": "0.0.1-commit.35158ae7e",
47
+ "@aztec/node-keystore": "0.0.1-commit.35158ae7e",
48
+ "@aztec/noir-contracts.js": "0.0.1-commit.35158ae7e",
49
+ "@aztec/noir-noirc_abi": "0.0.1-commit.35158ae7e",
50
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.35158ae7e",
51
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.35158ae7e",
52
+ "@aztec/p2p": "0.0.1-commit.35158ae7e",
53
+ "@aztec/protocol-contracts": "0.0.1-commit.35158ae7e",
54
+ "@aztec/prover-client": "0.0.1-commit.35158ae7e",
55
+ "@aztec/prover-node": "0.0.1-commit.35158ae7e",
56
+ "@aztec/pxe": "0.0.1-commit.35158ae7e",
57
+ "@aztec/sequencer-client": "0.0.1-commit.35158ae7e",
58
+ "@aztec/simulator": "0.0.1-commit.35158ae7e",
59
+ "@aztec/slasher": "0.0.1-commit.35158ae7e",
60
+ "@aztec/stdlib": "0.0.1-commit.35158ae7e",
61
+ "@aztec/telemetry-client": "0.0.1-commit.35158ae7e",
62
+ "@aztec/validator-client": "0.0.1-commit.35158ae7e",
63
+ "@aztec/validator-ha-signer": "0.0.1-commit.35158ae7e",
64
+ "@aztec/wallet-sdk": "0.0.1-commit.35158ae7e",
65
+ "@aztec/wallets": "0.0.1-commit.35158ae7e",
66
+ "@aztec/world-state": "0.0.1-commit.35158ae7e",
68
67
  "@iarna/toml": "^2.2.5",
69
68
  "@jest/globals": "^30.0.0",
70
69
  "@noble/curves": "=1.0.0",
@@ -1,3 +1,4 @@
1
+ import { NO_FROM } from '@aztec/aztec.js/account';
1
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
3
  import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
3
4
  import { type FeePaymentMethod, PrivateFeePaymentMethod, SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee';
@@ -333,7 +334,7 @@ export class ClientFlowsBenchmark {
333
334
  const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(benchysAddress);
334
335
  const behchysDeployMethod = await benchysAccountManager.getDeployMethod();
335
336
  await behchysDeployMethod.send({
336
- from: AztecAddress.ZERO,
337
+ from: NO_FROM,
337
338
  fee: { paymentMethod: new FeeJuicePaymentMethodWithClaim(benchysAddress, claim) },
338
339
  });
339
340
  // Register benchy on the user's Wallet, where we're going to be interacting from
@@ -28,6 +28,7 @@ import { type SequencerClient, type SequencerEvents, SequencerState } from '@azt
28
28
  import { type BlockParameter, EthAddress } from '@aztec/stdlib/block';
29
29
  import { type L1RollupConstants, getProofSubmissionDeadlineTimestamp } from '@aztec/stdlib/epoch-helpers';
30
30
  import { tryStop } from '@aztec/stdlib/interfaces/server';
31
+ import type { SlashingProtectionDatabase } from '@aztec/validator-ha-signer/types';
31
32
 
32
33
  import { join } from 'path';
33
34
  import type { Hex } from 'viem';
@@ -238,13 +239,21 @@ export class EpochsTestContext {
238
239
 
239
240
  public createValidatorNode(
240
241
  privateKeys: `0x${string}`[],
241
- opts: Partial<AztecNodeConfig> & { dontStartSequencer?: boolean } = {},
242
+ opts: Partial<AztecNodeConfig> & {
243
+ dontStartSequencer?: boolean;
244
+ slashingProtectionDb?: SlashingProtectionDatabase;
245
+ } = {},
242
246
  ) {
243
247
  this.logger.warn('Creating and syncing a validator node...');
244
248
  return this.createNode({ ...opts, disableValidator: false, validatorPrivateKeys: new SecretValue(privateKeys) });
245
249
  }
246
250
 
247
- private async createNode(opts: Partial<AztecNodeConfig> & { dontStartSequencer?: boolean } = {}) {
251
+ private async createNode(
252
+ opts: Partial<AztecNodeConfig> & {
253
+ dontStartSequencer?: boolean;
254
+ slashingProtectionDb?: SlashingProtectionDatabase;
255
+ } = {},
256
+ ) {
248
257
  const nodeIndex = this.nodes.length + 1;
249
258
  const actorPrefix = opts.disableValidator ? 'node' : 'validator';
250
259
  const { mockGossipSubNetwork } = this.context;
@@ -257,6 +266,7 @@ export class EpochsTestContext {
257
266
  ...resolvedConfig,
258
267
  dataDirectory: join(this.context.config.dataDirectory!, randomBytes(8).toString('hex')),
259
268
  validatorPrivateKeys: opts.validatorPrivateKeys ?? new SecretValue([]),
269
+ nodeId: resolvedConfig.nodeId || `${actorPrefix}-${nodeIndex}`,
260
270
  p2pEnabled,
261
271
  p2pIp,
262
272
  },
@@ -265,6 +275,7 @@ export class EpochsTestContext {
265
275
  p2pClientDeps: {
266
276
  p2pServiceFactory: mockGossipSubNetwork ? getMockPubSubP2PServiceFactory(mockGossipSubNetwork) : undefined,
267
277
  },
278
+ slashingProtectionDb: opts.slashingProtectionDb,
268
279
  },
269
280
  {
270
281
  prefilledPublicData: this.context.prefilledPublicData,
@@ -4,12 +4,7 @@ import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
4
4
  import { type Logger, createLogger } from '@aztec/aztec.js/log';
5
5
  import type { AztecNode } from '@aztec/aztec.js/node';
6
6
  import { CheatCodes } from '@aztec/aztec/testing';
7
- import {
8
- BBCircuitVerifier,
9
- type ClientProtocolCircuitVerifier,
10
- QueuedIVCVerifier,
11
- TestCircuitVerifier,
12
- } from '@aztec/bb-prover';
7
+ import type { ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
13
8
  import { BackendType, Barretenberg } from '@aztec/bb.js';
14
9
  import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
15
10
  import { Buffer32 } from '@aztec/foundation/buffer';
@@ -68,7 +63,10 @@ export class FullProverTest {
68
63
  private provenComponents: ProvenSetup[] = [];
69
64
  private bbConfigCleanup?: () => Promise<void>;
70
65
  private acvmConfigCleanup?: () => Promise<void>;
71
- circuitProofVerifier?: ClientProtocolCircuitVerifier;
66
+ /** Returns the proof verifier from the prover node (for test assertions). */
67
+ get circuitProofVerifier(): ClientProtocolCircuitVerifier | undefined {
68
+ return this.proverAztecNode?.getProofVerifier();
69
+ }
72
70
  provenAsset!: TokenContract;
73
71
  context!: EndToEndContext;
74
72
  private proverAztecNode!: AztecNodeService;
@@ -170,9 +168,6 @@ export class FullProverTest {
170
168
 
171
169
  await Barretenberg.initSingleton({ backend: BackendType.NativeUnixSocket });
172
170
 
173
- const verifier = await BBCircuitVerifier.new(bbConfig);
174
- this.circuitProofVerifier = new QueuedIVCVerifier(bbConfig, verifier);
175
-
176
171
  this.logger.debug(`Configuring the node for real proofs...`);
177
172
  await this.aztecNodeAdmin.setConfig({
178
173
  realProofs: true,
@@ -180,7 +175,6 @@ export class FullProverTest {
180
175
  });
181
176
  } else {
182
177
  this.logger.debug(`Configuring the node min txs per block ${this.minNumberOfTxsPerBlock}...`);
183
- this.circuitProofVerifier = new TestCircuitVerifier();
184
178
  await this.aztecNodeAdmin.setConfig({
185
179
  minTxsPerBlock: this.minNumberOfTxsPerBlock,
186
180
  });
@@ -13,8 +13,10 @@ const {
13
13
  BB_SKIP_CLEANUP = '',
14
14
  TEMP_DIR = tmpdir(),
15
15
  BB_WORKING_DIRECTORY = '',
16
- BB_NUM_IVC_VERIFIERS = '1',
16
+ BB_NUM_IVC_VERIFIERS = '8',
17
17
  BB_IVC_CONCURRENCY = '1',
18
+ BB_CHONK_VERIFY_MAX_BATCH = '16',
19
+ BB_CHONK_VERIFY_BATCH_CONCURRENCY = '6',
18
20
  } = process.env;
19
21
 
20
22
  export const getBBConfig = async (
@@ -41,16 +43,15 @@ export const getBBConfig = async (
41
43
  const bbSkipCleanup = ['1', 'true'].includes(BB_SKIP_CLEANUP);
42
44
  const cleanup = bbSkipCleanup ? () => Promise.resolve() : () => tryRmDir(directoryToCleanup);
43
45
 
44
- const numIvcVerifiers = Number(BB_NUM_IVC_VERIFIERS);
45
- const ivcConcurrency = Number(BB_IVC_CONCURRENCY);
46
-
47
46
  return {
48
47
  bbSkipCleanup,
49
48
  bbBinaryPath,
50
49
  bbWorkingDirectory,
51
50
  cleanup,
52
- numConcurrentIVCVerifiers: numIvcVerifiers,
53
- bbIVCConcurrency: ivcConcurrency,
51
+ numConcurrentIVCVerifiers: Number(BB_NUM_IVC_VERIFIERS),
52
+ bbIVCConcurrency: Number(BB_IVC_CONCURRENCY),
53
+ bbChonkVerifyMaxBatch: Number(BB_CHONK_VERIFY_MAX_BATCH),
54
+ bbChonkVerifyConcurrency: Number(BB_CHONK_VERIFY_BATCH_CONCURRENCY),
54
55
  };
55
56
  } catch (err) {
56
57
  logger.error(`Native BB not available, error: ${err}`);