@aztec/end-to-end 0.82.3-nightly.20250330 → 0.82.3-nightly.20250403
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.
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +15 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +51 -6
- package/dest/bench/client_flows/config.d.ts +14 -0
- package/dest/bench/client_flows/config.d.ts.map +1 -0
- package/dest/bench/client_flows/config.js +85 -0
- package/dest/bench/client_flows/data_extractor.js +1 -2
- package/dest/bench/utils.js +2 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +2 -4
- package/dest/e2e_p2p/p2p_network.js +1 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts +2 -2
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +2 -1
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_l1_contracts.js +1 -2
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +4 -1
- package/dest/fixtures/utils.d.ts +0 -4
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +216 -238
- package/dest/shared/cross_chain_test_harness.d.ts +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +2 -2
- package/dest/shared/uniswap_l1_l2.js +8 -6
- package/package.json +32 -32
- package/src/bench/client_flows/client_flows_benchmark.ts +69 -5
- package/src/bench/client_flows/config.ts +53 -0
- package/src/bench/client_flows/data_extractor.ts +2 -2
- package/src/bench/utils.ts +2 -2
- package/src/e2e_fees/fees_test.ts +1 -4
- package/src/e2e_p2p/p2p_network.ts +1 -1
- package/src/fixtures/l1_to_l2_messaging.ts +12 -3
- package/src/fixtures/setup_l1_contracts.ts +1 -2
- package/src/fixtures/snapshot_manager.ts +4 -1
- package/src/fixtures/utils.ts +235 -261
- package/src/shared/cross_chain_test_harness.ts +2 -2
- package/src/shared/uniswap_l1_l2.ts +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AccountWallet, AztecAddress, type AztecNode, type Logger, type PXE } from '@aztec/aztec.js';
|
|
1
|
+
import { type AccountWallet, AztecAddress, type AztecNode, FeeJuicePaymentMethodWithClaim, type FeePaymentMethod, type Logger, type PXE, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, type Wallet } from '@aztec/aztec.js';
|
|
2
2
|
import { CheatCodes } from '@aztec/aztec.js/testing';
|
|
3
3
|
import { type DeployL1ContractsArgs } from '@aztec/ethereum';
|
|
4
4
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
@@ -6,12 +6,16 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
6
6
|
import { AMMContract } from '@aztec/noir-contracts.js/AMM';
|
|
7
7
|
import { FPCContract } from '@aztec/noir-contracts.js/FPC';
|
|
8
8
|
import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
|
|
9
|
+
import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
9
10
|
import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
10
11
|
import { type SubsystemsContext } from '../../fixtures/snapshot_manager.js';
|
|
11
12
|
import { type SetupOptions } from '../../fixtures/utils.js';
|
|
12
13
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
13
14
|
import { type GasBridgingTestHarness } from '../../shared/gas_portal_test_harness.js';
|
|
15
|
+
import { type ClientFlowsConfig } from './config.js';
|
|
14
16
|
export type AccountType = 'ecdsar1' | 'schnorr';
|
|
17
|
+
export type FeePaymentMethodGetter = (wallet: Wallet) => Promise<FeePaymentMethod>;
|
|
18
|
+
export type BenchmarkingFeePaymentMethod = 'bridged_fee_juice' | 'private_fpc' | 'sponsored_fpc';
|
|
15
19
|
export declare class ClientFlowsBenchmark {
|
|
16
20
|
private snapshotManager;
|
|
17
21
|
logger: Logger;
|
|
@@ -31,7 +35,13 @@ export declare class ClientFlowsBenchmark {
|
|
|
31
35
|
candyBarCoin: TokenContract;
|
|
32
36
|
amm: AMMContract;
|
|
33
37
|
liquidityToken: TokenContract;
|
|
38
|
+
sponsoredFPC: SponsoredFPCContract;
|
|
34
39
|
userPXE: PXE;
|
|
40
|
+
paymentMethods: Record<BenchmarkingFeePaymentMethod, {
|
|
41
|
+
forWallet: FeePaymentMethodGetter;
|
|
42
|
+
circuits: number;
|
|
43
|
+
}>;
|
|
44
|
+
config: ClientFlowsConfig;
|
|
35
45
|
constructor(testName?: string, setupOptions?: Partial<SetupOptions & DeployL1ContractsArgs>);
|
|
36
46
|
setup(): Promise<this>;
|
|
37
47
|
teardown(): Promise<void>;
|
|
@@ -45,8 +55,12 @@ export declare class ClientFlowsBenchmark {
|
|
|
45
55
|
applyDeployBananaTokenSnapshot(): Promise<void>;
|
|
46
56
|
applyDeployCandyBarTokenSnapshot(): Promise<void>;
|
|
47
57
|
applyFPCSetupSnapshot(): Promise<void>;
|
|
58
|
+
applyDeploySponsoredFPCSnapshot(): Promise<void>;
|
|
48
59
|
createCrossChainTestHarness(owner: AccountWallet): Promise<CrossChainTestHarness>;
|
|
49
60
|
createAndFundBenchmarkingWallet(accountType: AccountType): Promise<import("@aztec/aztec.js").AccountWalletWithSecretKey>;
|
|
50
61
|
applyDeployAmmSnapshot(): Promise<void>;
|
|
62
|
+
getBridgedFeeJuicePaymentMethodForWallet(wallet: Wallet): Promise<FeeJuicePaymentMethodWithClaim>;
|
|
63
|
+
getPrivateFPCPaymentMethodForWallet(wallet: Wallet): Promise<PrivateFeePaymentMethod>;
|
|
64
|
+
getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet): Promise<SponsoredFeePaymentMethod>;
|
|
51
65
|
}
|
|
52
66
|
//# 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":"AAEA,OAAO,EACL,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,SAAS,
|
|
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,6 +1,6 @@
|
|
|
1
1
|
import { EcdsaRAccountContractArtifact, getEcdsaRAccount } from '@aztec/accounts/ecdsa';
|
|
2
2
|
import { SchnorrAccountContractArtifact, getSchnorrAccount, getSchnorrWallet } from '@aztec/accounts/schnorr';
|
|
3
|
-
import { FeeJuicePaymentMethodWithClaim, createLogger } from '@aztec/aztec.js';
|
|
3
|
+
import { FeeJuicePaymentMethodWithClaim, PrivateFeePaymentMethod, SponsoredFeePaymentMethod, createLogger } from '@aztec/aztec.js';
|
|
4
4
|
import { CheatCodes } from '@aztec/aztec.js/testing';
|
|
5
5
|
import { FEE_FUNDING_FOR_TESTER_ACCOUNT } from '@aztec/constants';
|
|
6
6
|
import { RollupContract, createL1Clients, deployL1Contract } from '@aztec/ethereum';
|
|
@@ -13,6 +13,7 @@ import { TestERC20Bytecode } from '@aztec/l1-artifacts/TestERC20Bytecode';
|
|
|
13
13
|
import { AMMContract } from '@aztec/noir-contracts.js/AMM';
|
|
14
14
|
import { FPCContract } from '@aztec/noir-contracts.js/FPC';
|
|
15
15
|
import { FeeJuiceContract } from '@aztec/noir-contracts.js/FeeJuice';
|
|
16
|
+
import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
16
17
|
import { TokenContract as BananaCoin, TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
17
18
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
18
19
|
import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
|
|
@@ -21,10 +22,11 @@ import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
|
21
22
|
import { MNEMONIC } from '../../fixtures/fixtures.js';
|
|
22
23
|
import { createSnapshotManager, deployAccounts } from '../../fixtures/snapshot_manager.js';
|
|
23
24
|
import { mintTokensToPrivate } from '../../fixtures/token_utils.js';
|
|
24
|
-
import {
|
|
25
|
+
import { setupSponsoredFPC } from '../../fixtures/utils.js';
|
|
25
26
|
import { CrossChainTestHarness } from '../../shared/cross_chain_test_harness.js';
|
|
26
27
|
import { FeeJuicePortalTestingHarnessFactory } from '../../shared/gas_portal_test_harness.js';
|
|
27
|
-
|
|
28
|
+
import { FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
29
|
+
const { E2E_DATA_PATH: dataPath, BENCHMARK_CONFIG } = process.env;
|
|
28
30
|
export class ClientFlowsBenchmark {
|
|
29
31
|
snapshotManager;
|
|
30
32
|
logger;
|
|
@@ -51,8 +53,31 @@ export class ClientFlowsBenchmark {
|
|
|
51
53
|
amm;
|
|
52
54
|
// Liquidity token for AMM
|
|
53
55
|
liquidityToken;
|
|
56
|
+
// Sponsored FPC contract
|
|
57
|
+
sponsoredFPC;
|
|
54
58
|
// PXE used by the benchmarking user. It can be set up with client-side proving enabled
|
|
55
59
|
userPXE;
|
|
60
|
+
paymentMethods = {
|
|
61
|
+
// eslint-disable-next-line camelcase
|
|
62
|
+
bridged_fee_juice: {
|
|
63
|
+
forWallet: this.getBridgedFeeJuicePaymentMethodForWallet.bind(this),
|
|
64
|
+
circuits: 2
|
|
65
|
+
},
|
|
66
|
+
// eslint-disable-next-line camelcase
|
|
67
|
+
private_fpc: {
|
|
68
|
+
forWallet: this.getPrivateFPCPaymentMethodForWallet.bind(this),
|
|
69
|
+
circuits: 2 + // FPC entrypoint + kernel inner
|
|
70
|
+
2 + // BananaCoin transfer_to_public + kernel inner
|
|
71
|
+
2 + // Account verify_private_authwit + kernel inner
|
|
72
|
+
2
|
|
73
|
+
},
|
|
74
|
+
// eslint-disable-next-line camelcase
|
|
75
|
+
sponsored_fpc: {
|
|
76
|
+
forWallet: this.getSponsoredFPCPaymentMethodForWallet.bind(this),
|
|
77
|
+
circuits: 2
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
config;
|
|
56
81
|
constructor(testName, setupOptions = {}){
|
|
57
82
|
this.logger = createLogger(`bench:client_flows${testName ? `:${testName}` : ''}`);
|
|
58
83
|
this.snapshotManager = createSnapshotManager(`bench_client_flows${testName ? `/${testName}` : ''}`, dataPath, {
|
|
@@ -61,6 +86,7 @@ export class ClientFlowsBenchmark {
|
|
|
61
86
|
}, {
|
|
62
87
|
...setupOptions
|
|
63
88
|
});
|
|
89
|
+
this.config = BENCHMARK_CONFIG === 'key_flows' ? KEY_FLOWS_CONFIG : FULL_FLOWS_CONFIG;
|
|
64
90
|
}
|
|
65
91
|
async setup() {
|
|
66
92
|
const context = await this.snapshotManager.setup();
|
|
@@ -134,9 +160,7 @@ export class ClientFlowsBenchmark {
|
|
|
134
160
|
});
|
|
135
161
|
}
|
|
136
162
|
async applySetupFeeJuiceSnapshot() {
|
|
137
|
-
await this.snapshotManager.snapshot('setup_fee_juice', async (context)=>{
|
|
138
|
-
await setupCanonicalFeeJuice(context.pxe);
|
|
139
|
-
}, async (_data, context)=>{
|
|
163
|
+
await this.snapshotManager.snapshot('setup_fee_juice', async ()=>{}, async (_data, context)=>{
|
|
140
164
|
this.context = context;
|
|
141
165
|
this.feeJuiceContract = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
|
|
142
166
|
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
@@ -187,6 +211,17 @@ export class ClientFlowsBenchmark {
|
|
|
187
211
|
this.bananaFPC = await FPCContract.at(data.bananaFPCAddress, this.adminWallet);
|
|
188
212
|
});
|
|
189
213
|
}
|
|
214
|
+
async applyDeploySponsoredFPCSnapshot() {
|
|
215
|
+
await this.snapshotManager.snapshot('deploy_sponsored_fpc', async ()=>{
|
|
216
|
+
const sponsoredFPC = await setupSponsoredFPC(this.pxe);
|
|
217
|
+
this.logger.info(`SponsoredFPC deployed at ${sponsoredFPC.address}`);
|
|
218
|
+
return {
|
|
219
|
+
sponsoredFPCAddress: sponsoredFPC.address
|
|
220
|
+
};
|
|
221
|
+
}, async ({ sponsoredFPCAddress })=>{
|
|
222
|
+
this.sponsoredFPC = await SponsoredFPCContract.at(sponsoredFPCAddress, this.adminWallet);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
190
225
|
async createCrossChainTestHarness(owner) {
|
|
191
226
|
const { publicClient, walletClient } = createL1Clients(this.context.aztecNodeConfig.l1RpcUrls, MNEMONIC);
|
|
192
227
|
const underlyingERC20Address = await deployL1Contract(walletClient, publicClient, TestERC20Abi, TestERC20Bytecode, [
|
|
@@ -233,4 +268,14 @@ export class ClientFlowsBenchmark {
|
|
|
233
268
|
this.amm = await AMMContract.at(ammAddress, this.adminWallet);
|
|
234
269
|
});
|
|
235
270
|
}
|
|
271
|
+
async getBridgedFeeJuicePaymentMethodForWallet(wallet) {
|
|
272
|
+
const claim = await this.feeJuiceBridgeTestHarness.prepareTokensOnL1(FEE_FUNDING_FOR_TESTER_ACCOUNT, wallet.getAddress());
|
|
273
|
+
return new FeeJuicePaymentMethodWithClaim(wallet, claim);
|
|
274
|
+
}
|
|
275
|
+
getPrivateFPCPaymentMethodForWallet(wallet) {
|
|
276
|
+
return Promise.resolve(new PrivateFeePaymentMethod(this.bananaFPC.address, wallet));
|
|
277
|
+
}
|
|
278
|
+
getSponsoredFPCPaymentMethodForWallet(_wallet) {
|
|
279
|
+
return Promise.resolve(new SponsoredFeePaymentMethod(this.sponsoredFPC.address));
|
|
280
|
+
}
|
|
236
281
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AccountType, BenchmarkingFeePaymentMethod } from './client_flows_benchmark.js';
|
|
2
|
+
export type ClientFlowConfig = {
|
|
3
|
+
accounts: AccountType[];
|
|
4
|
+
feePaymentMethods: BenchmarkingFeePaymentMethod[];
|
|
5
|
+
recursions?: number[];
|
|
6
|
+
};
|
|
7
|
+
type ClientFlows = 'deployments' | 'transfers' | 'bridging' | 'amm';
|
|
8
|
+
export type ClientFlowsConfig = {
|
|
9
|
+
[key in ClientFlows]: ClientFlowConfig;
|
|
10
|
+
};
|
|
11
|
+
export declare const KEY_FLOWS_CONFIG: ClientFlowsConfig;
|
|
12
|
+
export declare const FULL_FLOWS_CONFIG: ClientFlowsConfig;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE7F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,iBAAiB,EAAE,4BAA4B,EAAE,CAAC;IAClD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,KAAK,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG;KAC7B,GAAG,IAAI,WAAW,GAAG,gBAAgB;CACvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,iBAkB9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAkB/B,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const KEY_FLOWS_CONFIG = {
|
|
2
|
+
deployments: {
|
|
3
|
+
accounts: [
|
|
4
|
+
'ecdsar1',
|
|
5
|
+
'schnorr'
|
|
6
|
+
],
|
|
7
|
+
feePaymentMethods: [
|
|
8
|
+
'sponsored_fpc'
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
amm: {
|
|
12
|
+
accounts: [
|
|
13
|
+
'ecdsar1'
|
|
14
|
+
],
|
|
15
|
+
feePaymentMethods: [
|
|
16
|
+
'sponsored_fpc'
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
bridging: {
|
|
20
|
+
accounts: [
|
|
21
|
+
'ecdsar1'
|
|
22
|
+
],
|
|
23
|
+
feePaymentMethods: [
|
|
24
|
+
'sponsored_fpc'
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
transfers: {
|
|
28
|
+
accounts: [
|
|
29
|
+
'ecdsar1'
|
|
30
|
+
],
|
|
31
|
+
feePaymentMethods: [
|
|
32
|
+
'sponsored_fpc'
|
|
33
|
+
],
|
|
34
|
+
recursions: [
|
|
35
|
+
1
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
export const FULL_FLOWS_CONFIG = {
|
|
40
|
+
deployments: {
|
|
41
|
+
accounts: [
|
|
42
|
+
'ecdsar1',
|
|
43
|
+
'schnorr'
|
|
44
|
+
],
|
|
45
|
+
feePaymentMethods: [
|
|
46
|
+
'bridged_fee_juice',
|
|
47
|
+
'sponsored_fpc'
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
amm: {
|
|
51
|
+
accounts: [
|
|
52
|
+
'ecdsar1',
|
|
53
|
+
'schnorr'
|
|
54
|
+
],
|
|
55
|
+
feePaymentMethods: [
|
|
56
|
+
'sponsored_fpc',
|
|
57
|
+
'private_fpc'
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
bridging: {
|
|
61
|
+
accounts: [
|
|
62
|
+
'ecdsar1',
|
|
63
|
+
'schnorr'
|
|
64
|
+
],
|
|
65
|
+
feePaymentMethods: [
|
|
66
|
+
'sponsored_fpc',
|
|
67
|
+
'private_fpc'
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
transfers: {
|
|
71
|
+
accounts: [
|
|
72
|
+
'ecdsar1',
|
|
73
|
+
'schnorr'
|
|
74
|
+
],
|
|
75
|
+
feePaymentMethods: [
|
|
76
|
+
'sponsored_fpc',
|
|
77
|
+
'private_fpc'
|
|
78
|
+
],
|
|
79
|
+
recursions: [
|
|
80
|
+
0,
|
|
81
|
+
1,
|
|
82
|
+
2
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
};
|
|
@@ -148,7 +148,6 @@ async function main() {
|
|
|
148
148
|
bytecode: acirStack[i],
|
|
149
149
|
witness: witnessStack[i]
|
|
150
150
|
}));
|
|
151
|
-
let minimumTrace;
|
|
152
151
|
let stats;
|
|
153
152
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
154
153
|
let error;
|
|
@@ -163,9 +162,9 @@ async function main() {
|
|
|
163
162
|
currentLogs = proxyLogger.getLogs();
|
|
164
163
|
await writeFile(join(ivcFolder, flow, 'logs.json'), JSON.stringify(currentLogs, null, 2));
|
|
165
164
|
if (!error) {
|
|
166
|
-
minimumTrace = getMinimumTrace(currentLogs, proverType);
|
|
167
165
|
stats = currentLogs[0].data;
|
|
168
166
|
}
|
|
167
|
+
const minimumTrace = getMinimumTrace(currentLogs, proverType);
|
|
169
168
|
const steps = executionSteps.reduce((acc, step, i)=>{
|
|
170
169
|
const previousAccGateCount = i === 0 ? 0 : acc[i - 1].accGateCount;
|
|
171
170
|
return [
|
package/dest/bench/utils.js
CHANGED
|
@@ -129,7 +129,7 @@ export async function waitTxs(txs, context, txWaitOpts) {
|
|
|
129
129
|
* @returns The new PXE.
|
|
130
130
|
*/ export async function createNewPXE(node, contract, startingBlock = INITIAL_L2_BLOCK_NUM) {
|
|
131
131
|
const l1Contracts = await node.getL1ContractAddresses();
|
|
132
|
-
const { l1ChainId,
|
|
132
|
+
const { l1ChainId, rollupVersion } = await node.getNodeInfo();
|
|
133
133
|
const pxeConfig = {
|
|
134
134
|
l2StartingBlock: startingBlock,
|
|
135
135
|
l2BlockPollingIntervalMS: 100,
|
|
@@ -137,7 +137,7 @@ export async function waitTxs(txs, context, txWaitOpts) {
|
|
|
137
137
|
dataStoreMapSizeKB: 1024 * 1024,
|
|
138
138
|
l1Contracts,
|
|
139
139
|
l1ChainId,
|
|
140
|
-
|
|
140
|
+
rollupVersion
|
|
141
141
|
};
|
|
142
142
|
const pxe = await createPXEService(node, pxeConfig);
|
|
143
143
|
await pxe.registerContract(contract);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,GAAG,EAGT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,KAAK,qBAAqB,EAAoD,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"fees_test.d.ts","sourceRoot":"","sources":["../../src/e2e_fees/fees_test.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,GAAG,EAGT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,KAAK,qBAAqB,EAAoD,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAEL,KAAK,iBAAiB,EAGvB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EAIlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAuC,KAAK,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAIxH;;;;;;;;;GASG;AACH,qBAAa,QAAQ;IA4CjB,OAAO,CAAC,gBAAgB;IA3C1B,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,OAAO,CAAuB;IAE/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAG,GAAG,CAAC;IACV,SAAS,EAAG,SAAS,CAAC;IACtB,UAAU,EAAG,UAAU,CAAC;IAExB,WAAW,EAAG,aAAa,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,SAAS,EAAG,aAAa,CAAC;IAC1B,UAAU,EAAG,YAAY,CAAC;IAC1B,gBAAgB,EAAG,YAAY,CAAC;IAChC,QAAQ,EAAG,UAAU,CAAC;IAEtB,QAAQ,EAAG,YAAY,CAAC;IAExB,WAAW,EAAG,WAAW,CAAC;IAE1B,gBAAgB,EAAG,gBAAgB,CAAC;IACpC,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,EAAG,WAAW,CAAC;IACxB,YAAY,EAAG,oBAAoB,CAAC;IACpC,eAAe,EAAG,eAAe,CAAC;IAClC,oBAAoB,EAAG,uBAAuB,CAAC;IAC/C,yBAAyB,EAAG,sBAAsB,CAAC;IAEnD,OAAO,EAAG,iBAAiB,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAE5B,kBAAkB,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,2BAA2B,EAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,eAAe,EAAG,UAAU,CAAC;IAC7B,wBAAwB,EAAG,UAAU,CAAC;IACtC,yBAAyB,EAAG,UAAU,CAAC;IACvC,YAAY,EAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D,SAAgB,qBAAqB,SAAgB;IACrD,SAAgB,mBAAmB,SAAgB;IACnD,SAAgB,0BAA0B,SAAgB;gBAGxD,QAAQ,EAAE,MAAM,EACR,gBAAgB,SAAI,EAC5B,YAAY,GAAE,OAAO,CAAC,YAAY,GAAG,qBAAqB,CAAM;IAc5D,KAAK;IAUL,QAAQ;IAKd,oBAAoB,CAAC,CAAC,EAAE,OAAO;IAIzB,kBAAkB;IAOlB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAMjE,sFAAsF;IAChF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IASjD,kBAAkB;IAOzB,4BAA4B;IAyB5B,iCAAiC;IAMjC,0BAA0B;IAwB1B,8BAA8B;IAuBvB,qBAAqB;IA+DrB,8BAA8B;IAqB9B,yBAAyB;IAWzB,gCAAgC;IAUhC,sBAAsB;CAgCpC"}
|
|
@@ -19,7 +19,7 @@ import { getContract } from 'viem';
|
|
|
19
19
|
import { MNEMONIC } from '../fixtures/fixtures.js';
|
|
20
20
|
import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
|
|
21
21
|
import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
22
|
-
import { ensureAccountsPubliclyDeployed, getBalancesFn,
|
|
22
|
+
import { ensureAccountsPubliclyDeployed, getBalancesFn, setupSponsoredFPC } from '../fixtures/utils.js';
|
|
23
23
|
import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_harness.js';
|
|
24
24
|
const { E2E_DATA_PATH: dataPath } = process.env;
|
|
25
25
|
/**
|
|
@@ -145,9 +145,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
145
145
|
await this.snapshotManager.snapshot('public_deploy_accounts', ()=>ensureAccountsPubliclyDeployed(this.aliceWallet, this.wallets));
|
|
146
146
|
}
|
|
147
147
|
async applySetupFeeJuiceSnapshot() {
|
|
148
|
-
await this.snapshotManager.snapshot('setup_fee_juice', async (context)=>{
|
|
149
|
-
await setupCanonicalFeeJuice(context.pxe);
|
|
150
|
-
}, async (_data, context)=>{
|
|
148
|
+
await this.snapshotManager.snapshot('setup_fee_juice', async ()=>{}, async (_data, context)=>{
|
|
151
149
|
this.context = context;
|
|
152
150
|
this.feeJuiceContract = await FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.aliceWallet);
|
|
153
151
|
this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.logger);
|
|
@@ -74,7 +74,7 @@ export class P2PNetworkTest {
|
|
|
74
74
|
aztecProofSubmissionWindow: initialValidatorConfig.aztecProofSubmissionWindow ?? l1ContractsConfig.aztecProofSubmissionWindow,
|
|
75
75
|
salt: 420,
|
|
76
76
|
metricsPort: metricsPort,
|
|
77
|
-
numberOfInitialFundedAccounts:
|
|
77
|
+
numberOfInitialFundedAccounts: 2
|
|
78
78
|
}, {
|
|
79
79
|
aztecEpochDuration: initialValidatorConfig.aztecEpochDuration ?? l1ContractsConfig.aztecEpochDuration,
|
|
80
80
|
ethereumSlotDuration: initialValidatorConfig.ethereumSlotDuration ?? l1ContractsConfig.ethereumSlotDuration,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type L1ContractAddresses, type ViemPublicClient, type ViemWalletClient } from '@aztec/ethereum';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
export declare function sendL1ToL2Message(message: {
|
|
@@ -8,6 +8,6 @@ export declare function sendL1ToL2Message(message: {
|
|
|
8
8
|
}, ctx: {
|
|
9
9
|
walletClient: ViemWalletClient;
|
|
10
10
|
publicClient: ViemPublicClient;
|
|
11
|
-
l1ContractAddresses: Pick<L1ContractAddresses, 'inboxAddress'>;
|
|
11
|
+
l1ContractAddresses: Pick<L1ContractAddresses, 'inboxAddress' | 'rollupAddress'>;
|
|
12
12
|
}): Promise<Fr[]>;
|
|
13
13
|
//# sourceMappingURL=l1_to_l2_messaging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_messaging.d.ts","sourceRoot":"","sources":["../../src/fixtures/l1_to_l2_messaging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"l1_to_l2_messaging.d.ts","sourceRoot":"","sources":["../../src/fixtures/l1_to_l2_messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKhE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE;IAAE,SAAS,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,EAAE,CAAA;CAAE,EACjE,GAAG,EAAE;IACH,YAAY,EAAE,gBAAgB,CAAC;IAC/B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,eAAe,CAAC,CAAC;CAClF,iBAuCF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RollupContract } from '@aztec/ethereum';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { InboxAbi } from '@aztec/l1-artifacts';
|
|
3
4
|
import { expect } from '@jest/globals';
|
|
@@ -9,7 +10,7 @@ export async function sendL1ToL2Message(message, ctx) {
|
|
|
9
10
|
client: ctx.walletClient
|
|
10
11
|
});
|
|
11
12
|
const { recipient, content, secretHash } = message;
|
|
12
|
-
const version =
|
|
13
|
+
const version = await new RollupContract(ctx.publicClient, ctx.l1ContractAddresses.rollupAddress.toString()).getVersion();
|
|
13
14
|
// We inject the message to Inbox
|
|
14
15
|
const txHash = await inbox.write.sendL2Message([
|
|
15
16
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_l1_contracts.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAqB,MAAM,iBAAiB,CAAC;AAIxG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGzD,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AAEnG,eAAO,MAAM,gBAAgB,aACjB,MAAM,WACP,SAAS,GAAG,iBAAiB,UAC9B,MAAM,QACR,KAAK,qBAAqB,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,GAChG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"setup_l1_contracts.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAqB,MAAM,iBAAiB,CAAC;AAIxG,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAGzD,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AAEnG,eAAO,MAAM,gBAAgB,aACjB,MAAM,WACP,SAAS,GAAG,iBAAiB,UAC9B,MAAM,QACR,KAAK,qBAAqB,EAAE,oBAAoB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC,GAChG,iBAAiB,mEAUpB,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { deployL1Contracts } from '@aztec/ethereum';
|
|
2
2
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
3
|
-
import {
|
|
3
|
+
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
4
4
|
import { foundry } from 'viem/chains';
|
|
5
5
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
6
6
|
export const setupL1Contracts = async (l1RpcUrl, account, logger, args)=>{
|
|
7
7
|
const l1Data = await deployL1Contracts([
|
|
8
8
|
l1RpcUrl
|
|
9
9
|
], account, foundry, logger, {
|
|
10
|
-
l2FeeJuiceAddress: ProtocolContractAddress.FeeJuice.toField(),
|
|
11
10
|
vkTreeRoot: getVKTreeRoot(),
|
|
12
11
|
protocolContractTreeRoot,
|
|
13
12
|
salt: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -219,6 +219,8 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
219
219
|
aztecNodeConfig.peerCheckIntervalMS = TEST_PEER_CHECK_INTERVAL_MS;
|
|
220
220
|
// Only enable proving if specifically requested.
|
|
221
221
|
aztecNodeConfig.realProofs = !!opts.realProofs;
|
|
222
|
+
// Only enforce the time table if requested
|
|
223
|
+
aztecNodeConfig.enforceTimeTable = !!opts.enforceTimeTable;
|
|
222
224
|
aztecNodeConfig.listenAddress = '127.0.0.1';
|
|
223
225
|
// Create a temp directory for all ephemeral state and cleanup afterwards
|
|
224
226
|
const directoryToCleanup = path.join(tmpdir(), randomBytes(8).toString('hex'));
|
|
@@ -257,11 +259,12 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
257
259
|
}
|
|
258
260
|
const initialFundedAccounts = await generateSchnorrAccounts(numberOfInitialFundedAccounts);
|
|
259
261
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
260
|
-
const { genesisArchiveRoot, genesisBlockHash, prefilledPublicData } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress), opts.initialAccountFeeJuice);
|
|
262
|
+
const { genesisArchiveRoot, genesisBlockHash, prefilledPublicData, fundingNeeded } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress), opts.initialAccountFeeJuice);
|
|
261
263
|
const deployL1ContractsValues = await setupL1Contracts(aztecNodeConfig.l1RpcUrls[0], hdAccount, logger, {
|
|
262
264
|
...getL1ContractsConfigEnvVars(),
|
|
263
265
|
genesisArchiveRoot,
|
|
264
266
|
genesisBlockHash,
|
|
267
|
+
feeJuicePortalInitialBalance: fundingNeeded,
|
|
265
268
|
salt: opts.salt,
|
|
266
269
|
...deployL1ContractsArgs,
|
|
267
270
|
initialValidators: opts.initialValidators
|
package/dest/fixtures/utils.d.ts
CHANGED
|
@@ -147,10 +147,6 @@ export declare function getBalancesFn(symbol: string, method: ContractMethod, lo
|
|
|
147
147
|
})[]) => Promise<bigint[]>;
|
|
148
148
|
export declare function expectMapping<K, V>(fn: (...k: K[]) => Promise<V[]>, inputs: K[], expectedOutputs: V[]): Promise<void>;
|
|
149
149
|
export declare function expectMappingDelta<K, V extends number | bigint>(initialValues: V[], fn: (...k: K[]) => Promise<V[]>, inputs: K[], expectedDiffs: V[]): Promise<void>;
|
|
150
|
-
/**
|
|
151
|
-
* Deploy the canonical Fee Juice contract to a running instance.
|
|
152
|
-
*/
|
|
153
|
-
export declare function setupCanonicalFeeJuice(pxe: PXE): Promise<void>;
|
|
154
150
|
/**
|
|
155
151
|
* Computes the address of the "canonical" SponosoredFPCContract. This is not a protocol contract
|
|
156
152
|
* but by conventions its address is computed with a salt of 0.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":";;AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|