@aztec/end-to-end 3.0.0-canary.a9708bd → 3.0.0-manual.20251030
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/benchmark.d.ts +3 -2
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/benchmark.js +2 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +16 -12
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +54 -58
- package/dest/bench/client_flows/data_extractor.js +3 -3
- package/dest/bench/utils.d.ts +2 -11
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +10 -34
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +7 -7
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +42 -42
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +10 -8
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +31 -33
- package/dest/e2e_deploy_contract/deploy_test.d.ts +10 -4
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +9 -18
- package/dest/e2e_epochs/epochs_test.d.ts +9 -3
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +19 -13
- package/dest/e2e_fees/bridging_race.notest.js +12 -9
- package/dest/e2e_fees/fees_test.d.ts +5 -5
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +26 -33
- package/dest/e2e_l1_publisher/write_json.d.ts +3 -1
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +5 -5
- package/dest/e2e_multi_validator/utils.d.ts +1 -1
- package/dest/e2e_multi_validator/utils.d.ts.map +1 -1
- package/dest/e2e_multi_validator/utils.js +3 -9
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -3
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +7 -9
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +31 -0
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -0
- package/dest/e2e_p2p/inactivity_slash_test.js +135 -0
- package/dest/e2e_p2p/p2p_network.d.ts +22 -8
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +36 -15
- package/dest/e2e_p2p/shared.d.ts +12 -13
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +54 -54
- package/dest/e2e_token_contract/token_contract_test.d.ts +5 -4
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +14 -17
- package/dest/fixtures/e2e_prover_test.d.ts +8 -6
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +42 -51
- package/dest/fixtures/get_acvm_config.d.ts +1 -1
- package/dest/fixtures/get_acvm_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.js +2 -2
- package/dest/fixtures/setup_l1_contracts.d.ts +1 -1
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_l1_contracts.js +2 -2
- package/dest/fixtures/setup_p2p_test.d.ts +10 -9
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +38 -20
- package/dest/fixtures/snapshot_manager.d.ts +10 -7
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/snapshot_manager.js +60 -47
- package/dest/fixtures/token_utils.d.ts +6 -4
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +11 -15
- package/dest/fixtures/utils.d.ts +26 -28
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +83 -109
- package/dest/fixtures/web3signer.d.ts +5 -0
- package/dest/fixtures/web3signer.d.ts.map +1 -0
- package/dest/fixtures/web3signer.js +53 -0
- package/dest/quality_of_service/alert_checker.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts +16 -10
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +13 -15
- package/dest/shared/gas_portal_test_harness.d.ts +9 -6
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +10 -7
- package/dest/shared/jest_setup.js +1 -1
- package/dest/shared/submit-transactions.d.ts +5 -3
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +8 -7
- package/dest/shared/uniswap_l1_l2.d.ts +9 -6
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +29 -45
- package/dest/simulators/lending_simulator.d.ts +2 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +3 -2
- package/dest/simulators/token_simulator.d.ts +3 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +19 -13
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +108 -85
- package/dest/spartan/utils.d.ts +68 -3
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +312 -49
- package/package.json +39 -38
- package/src/bench/client_flows/benchmark.ts +8 -8
- package/src/bench/client_flows/client_flows_benchmark.ts +62 -82
- package/src/bench/client_flows/data_extractor.ts +4 -4
- package/src/bench/utils.ts +9 -37
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +46 -63
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +33 -47
- package/src/e2e_deploy_contract/deploy_test.ts +17 -35
- package/src/e2e_epochs/epochs_test.ts +22 -19
- package/src/e2e_fees/bridging_race.notest.ts +14 -9
- package/src/e2e_fees/fees_test.ts +29 -40
- package/src/e2e_l1_publisher/write_json.ts +8 -6
- package/src/e2e_multi_validator/utils.ts +4 -10
- package/src/e2e_nested_contract/nested_contract_test.ts +11 -10
- package/src/e2e_p2p/inactivity_slash_test.ts +178 -0
- package/src/e2e_p2p/p2p_network.ts +110 -71
- package/src/e2e_p2p/shared.ts +57 -56
- package/src/e2e_token_contract/token_contract_test.ts +17 -17
- package/src/fixtures/e2e_prover_test.ts +52 -88
- package/src/fixtures/get_acvm_config.ts +1 -1
- package/src/fixtures/get_bb_config.ts +3 -2
- package/src/fixtures/setup_l1_contracts.ts +3 -3
- package/src/fixtures/setup_p2p_test.ts +60 -27
- package/src/fixtures/snapshot_manager.ts +80 -72
- package/src/fixtures/token_utils.ts +13 -21
- package/src/fixtures/utils.ts +95 -145
- package/src/fixtures/web3signer.ts +63 -0
- package/src/guides/up_quick_start.sh +2 -10
- package/src/quality_of_service/alert_checker.ts +1 -1
- package/src/shared/cross_chain_test_harness.ts +18 -29
- package/src/shared/gas_portal_test_harness.ts +12 -19
- package/src/shared/jest_setup.ts +1 -1
- package/src/shared/submit-transactions.ts +12 -8
- package/src/shared/uniswap_l1_l2.ts +61 -67
- package/src/simulators/lending_simulator.ts +3 -2
- package/src/simulators/token_simulator.ts +5 -2
- package/src/spartan/DEVELOP.md +8 -3
- package/src/spartan/setup_test_wallets.ts +133 -126
- package/src/spartan/utils.ts +373 -48
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { InitialAccountData } from '@aztec/accounts/testing';
|
|
2
|
-
import {
|
|
2
|
+
import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
|
|
3
|
+
import { type Logger } from '@aztec/aztec.js/log';
|
|
4
|
+
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
3
5
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
4
6
|
import { type ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
|
|
5
7
|
import type { BlobSinkServer } from '@aztec/blob-sink/server';
|
|
6
8
|
import type { DeployL1ContractsReturnType } from '@aztec/ethereum';
|
|
7
9
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
8
|
-
import type { PXEService } from '@aztec/pxe/server';
|
|
9
10
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
11
|
+
import { TestWallet } from '@aztec/test-wallet/server';
|
|
10
12
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
11
13
|
import { type SubsystemsContext } from './snapshot_manager.js';
|
|
12
14
|
/**
|
|
@@ -23,21 +25,21 @@ export declare class FullProverTest {
|
|
|
23
25
|
static TOKEN_DECIMALS: bigint;
|
|
24
26
|
private snapshotManager;
|
|
25
27
|
logger: Logger;
|
|
28
|
+
wallet: TestWallet;
|
|
29
|
+
provenWallet: TestWallet;
|
|
30
|
+
accounts: AztecAddress[];
|
|
26
31
|
deployedAccounts: InitialAccountData[];
|
|
27
|
-
wallets: AccountWalletWithSecretKey[];
|
|
28
|
-
accounts: CompleteAddress[];
|
|
29
32
|
fakeProofsAsset: TokenContract;
|
|
30
33
|
tokenSim: TokenSimulator;
|
|
31
34
|
aztecNode: AztecNode;
|
|
32
35
|
aztecNodeAdmin: AztecNodeAdmin;
|
|
33
|
-
pxe: PXEService;
|
|
34
36
|
cheatCodes: CheatCodes;
|
|
35
37
|
blobSink: BlobSinkServer;
|
|
36
38
|
private provenComponents;
|
|
37
39
|
private bbConfigCleanup?;
|
|
38
40
|
private acvmConfigCleanup?;
|
|
39
41
|
circuitProofVerifier?: ClientProtocolCircuitVerifier;
|
|
40
|
-
|
|
42
|
+
provenAsset: TokenContract;
|
|
41
43
|
private context;
|
|
42
44
|
private proverNode;
|
|
43
45
|
private simulatedProverNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAInE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,uBAAuB,CAAC;AAU/B;;;;;GAKG;AAEH,qBAAa,cAAc;IA6BvB,OAAO,CAAC,sBAAsB;IAE9B,OAAO,CAAC,UAAU;IA9BpB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,CAAC,eAAe,CAAmB;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,gBAAgB,EAAG,kBAAkB,EAAE,CAAC;IACxC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,UAAU,EAAG,UAAU,CAAC;IACxB,QAAQ,EAAG,cAAc,CAAC;IAC1B,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,2BAA2B,CAAC;IAC1C,aAAa,EAAG,UAAU,CAAC;gBAGhC,QAAQ,EAAE,MAAM,EACR,sBAAsB,EAAE,MAAM,EACtC,QAAQ,EAAE,UAAU,EACZ,UAAU,UAAO;IAa3B;;;;OAIG;IACG,kBAAkB;IAsDlB,KAAK;YA6IG,YAAY;IAS1B,QAAQ,GAAI,CAAC,EACX,MAAM,MAAM,EACZ,OAAO,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,EACjD,UAAS,CAAC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAA2B,KAChG,OAAO,CAAC,IAAI,CAAC,CAAwD;IAElE,QAAQ;IAeR,iBAAiB;CA8CxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SchnorrAccountContractArtifact, getSchnorrAccount, getSchnorrWalletWithSecretKey } from '@aztec/accounts/schnorr';
|
|
2
1
|
import { createArchiver } from '@aztec/archiver';
|
|
3
|
-
import { EthAddress
|
|
2
|
+
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
3
|
+
import { createLogger } from '@aztec/aztec.js/log';
|
|
4
4
|
import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
5
5
|
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
6
6
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
@@ -15,7 +15,7 @@ import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
|
15
15
|
import { getACVMConfig } from './get_acvm_config.js';
|
|
16
16
|
import { getBBConfig } from './get_bb_config.js';
|
|
17
17
|
import { createSnapshotManager, deployAccounts, publicDeployAccounts } from './snapshot_manager.js';
|
|
18
|
-
import { getPrivateKeyFromIndex, getSponsoredFPCAddress,
|
|
18
|
+
import { getPrivateKeyFromIndex, getSponsoredFPCAddress, setupPXEAndGetWallet } from './utils.js';
|
|
19
19
|
const { E2E_DATA_PATH: dataPath } = process.env;
|
|
20
20
|
/**
|
|
21
21
|
* Largely taken from the e2e_token_contract test file. We deploy 2 accounts and a token contract.
|
|
@@ -30,21 +30,21 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
30
30
|
static TOKEN_DECIMALS = 18n;
|
|
31
31
|
snapshotManager;
|
|
32
32
|
logger;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
wallet;
|
|
34
|
+
provenWallet;
|
|
35
35
|
accounts;
|
|
36
|
+
deployedAccounts;
|
|
36
37
|
fakeProofsAsset;
|
|
37
38
|
tokenSim;
|
|
38
39
|
aztecNode;
|
|
39
40
|
aztecNodeAdmin;
|
|
40
|
-
pxe;
|
|
41
41
|
cheatCodes;
|
|
42
42
|
blobSink;
|
|
43
43
|
provenComponents;
|
|
44
44
|
bbConfigCleanup;
|
|
45
45
|
acvmConfigCleanup;
|
|
46
46
|
circuitProofVerifier;
|
|
47
|
-
|
|
47
|
+
provenAsset;
|
|
48
48
|
context;
|
|
49
49
|
proverNode;
|
|
50
50
|
simulatedProverNode;
|
|
@@ -53,11 +53,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
53
53
|
constructor(testName, minNumberOfTxsPerBlock, coinbase, realProofs = true){
|
|
54
54
|
this.minNumberOfTxsPerBlock = minNumberOfTxsPerBlock;
|
|
55
55
|
this.realProofs = realProofs;
|
|
56
|
-
this.deployedAccounts = [];
|
|
57
|
-
this.wallets = [];
|
|
58
56
|
this.accounts = [];
|
|
59
57
|
this.provenComponents = [];
|
|
60
|
-
this.provenAssets = [];
|
|
61
58
|
this.snapshot = (name, apply, restore = ()=>Promise.resolve())=>this.snapshotManager.snapshot(name, apply, restore);
|
|
62
59
|
this.logger = createLogger(`e2e:full_prover_test:${testName}`);
|
|
63
60
|
this.snapshotManager = createSnapshotManager(`full_prover_integration/${testName}`, dataPath, {
|
|
@@ -73,20 +70,20 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
73
70
|
* 1. Add 2 accounts.
|
|
74
71
|
* 2. Publicly deploy accounts, deploy token contract
|
|
75
72
|
*/ async applyBaseSnapshots() {
|
|
76
|
-
await this.snapshotManager.snapshot('2_accounts', deployAccounts(2, this.logger),
|
|
73
|
+
await this.snapshotManager.snapshot('2_accounts', deployAccounts(2, this.logger), ({ deployedAccounts }, { wallet })=>{
|
|
77
74
|
this.deployedAccounts = deployedAccounts;
|
|
78
|
-
this.
|
|
79
|
-
this.
|
|
80
|
-
|
|
75
|
+
this.accounts = deployedAccounts.map((a)=>a.address);
|
|
76
|
+
this.wallet = wallet;
|
|
77
|
+
return Promise.resolve();
|
|
81
78
|
});
|
|
82
79
|
await this.snapshotManager.snapshot('client_prover_integration', async ()=>{
|
|
83
80
|
// Create the token contract state.
|
|
84
81
|
// Move this account thing to addAccounts above?
|
|
85
82
|
this.logger.verbose(`Public deploy accounts...`);
|
|
86
|
-
await publicDeployAccounts(this.
|
|
83
|
+
await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
|
|
87
84
|
this.logger.verbose(`Deploying TokenContract...`);
|
|
88
|
-
const asset = await TokenContract.deploy(this.
|
|
89
|
-
from: this.
|
|
85
|
+
const asset = await TokenContract.deploy(this.wallet, this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
|
|
86
|
+
from: this.accounts[0]
|
|
90
87
|
}).deployed();
|
|
91
88
|
this.logger.verbose(`Token deployed to ${asset.address}`);
|
|
92
89
|
return {
|
|
@@ -94,12 +91,12 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
94
91
|
};
|
|
95
92
|
}, async ({ tokenContractAddress })=>{
|
|
96
93
|
// Restore the token contract state.
|
|
97
|
-
this.fakeProofsAsset = await TokenContract.at(tokenContractAddress, this.
|
|
94
|
+
this.fakeProofsAsset = await TokenContract.at(tokenContractAddress, this.wallet);
|
|
98
95
|
this.logger.verbose(`Token contract address: ${this.fakeProofsAsset.address}`);
|
|
99
|
-
this.tokenSim = new TokenSimulator(this.fakeProofsAsset, this.
|
|
96
|
+
this.tokenSim = new TokenSimulator(this.fakeProofsAsset, this.wallet, this.accounts[0], this.logger, this.accounts);
|
|
100
97
|
expect(await this.fakeProofsAsset.methods.get_admin().simulate({
|
|
101
|
-
from: this.accounts[0]
|
|
102
|
-
})).toBe(this.accounts[0].
|
|
98
|
+
from: this.accounts[0]
|
|
99
|
+
})).toBe(this.accounts[0].toBigInt());
|
|
103
100
|
});
|
|
104
101
|
}
|
|
105
102
|
async setup() {
|
|
@@ -107,7 +104,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
107
104
|
// We don't wish to mark as proven automatically, so we set the flag to false
|
|
108
105
|
this.context.watcher.setIsMarkingAsProven(false);
|
|
109
106
|
this.simulatedProverNode = this.context.proverNode;
|
|
110
|
-
({
|
|
107
|
+
({ aztecNode: this.aztecNode, deployL1ContractsValues: this.l1Contracts, cheatCodes: this.cheatCodes, blobSink: this.blobSink } = this.context);
|
|
111
108
|
this.aztecNodeAdmin = this.context.aztecNode;
|
|
112
109
|
const blobSinkClient = createBlobSinkClient({
|
|
113
110
|
blobSinkUrl: `http://localhost:${this.blobSink.port}`
|
|
@@ -147,31 +144,24 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
147
144
|
this.logger.verbose(`Marking current block as proven`);
|
|
148
145
|
await this.context.cheatCodes.rollup.markAsProven();
|
|
149
146
|
this.logger.verbose(`Main setup completed, initializing full prover PXE, Node, and Prover Node`);
|
|
147
|
+
const { wallet: provenWallet, teardown: provenTeardown } = await setupPXEAndGetWallet(this.aztecNode, {
|
|
148
|
+
proverEnabled: this.realProofs,
|
|
149
|
+
bbBinaryPath: bbConfig?.bbBinaryPath,
|
|
150
|
+
bbWorkingDirectory: bbConfig?.bbWorkingDirectory
|
|
151
|
+
}, undefined, true);
|
|
152
|
+
this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
|
|
153
|
+
await provenWallet.registerContract(this.fakeProofsAsset);
|
|
150
154
|
for(let i = 0; i < 2; i++){
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
bbBinaryPath: bbConfig?.bbBinaryPath,
|
|
154
|
-
bbWorkingDirectory: bbConfig?.bbWorkingDirectory
|
|
155
|
-
}, undefined, true);
|
|
156
|
-
this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
|
|
157
|
-
await result.pxe.registerContract(this.fakeProofsAsset);
|
|
158
|
-
for(let i = 0; i < 2; i++){
|
|
159
|
-
await result.pxe.registerAccount(this.deployedAccounts[i].secret, this.wallets[i].getCompleteAddress().partialAddress);
|
|
160
|
-
await this.pxe.registerAccount(this.deployedAccounts[i].secret, this.wallets[i].getCompleteAddress().partialAddress);
|
|
161
|
-
}
|
|
162
|
-
const account = await getSchnorrAccount(result.pxe, this.deployedAccounts[0].secret, this.deployedAccounts[0].signingKey, this.deployedAccounts[0].salt);
|
|
163
|
-
await result.pxe.registerContract({
|
|
164
|
-
instance: account.getInstance(),
|
|
165
|
-
artifact: SchnorrAccountContractArtifact
|
|
166
|
-
});
|
|
167
|
-
const provenWallet = await account.getWallet();
|
|
168
|
-
const asset = await TokenContract.at(this.fakeProofsAsset.address, provenWallet);
|
|
169
|
-
this.provenComponents.push({
|
|
170
|
-
pxe: result.pxe,
|
|
171
|
-
teardown: result.teardown
|
|
172
|
-
});
|
|
173
|
-
this.provenAssets.push(asset);
|
|
155
|
+
await provenWallet.createSchnorrAccount(this.deployedAccounts[i].secret, this.deployedAccounts[i].salt);
|
|
156
|
+
await this.wallet.createSchnorrAccount(this.deployedAccounts[i].secret, this.deployedAccounts[i].salt);
|
|
174
157
|
}
|
|
158
|
+
const asset = await TokenContract.at(this.fakeProofsAsset.address, provenWallet);
|
|
159
|
+
this.provenComponents.push({
|
|
160
|
+
wallet: provenWallet,
|
|
161
|
+
teardown: provenTeardown
|
|
162
|
+
});
|
|
163
|
+
this.provenAsset = asset;
|
|
164
|
+
this.provenWallet = provenWallet;
|
|
175
165
|
this.logger.info(`Full prover PXE started`);
|
|
176
166
|
// Shutdown the current, simulated prover node
|
|
177
167
|
this.logger.verbose('Shutting down simulated prover node');
|
|
@@ -210,7 +200,8 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
210
200
|
txGatheringBatchSize: 10,
|
|
211
201
|
txGatheringMaxParallelRequestsPerNode: 100,
|
|
212
202
|
txGatheringTimeoutMs: 24_000,
|
|
213
|
-
proverNodeFailedEpochStore: undefined
|
|
203
|
+
proverNodeFailedEpochStore: undefined,
|
|
204
|
+
proverNodeEpochProvingDelayMs: undefined
|
|
214
205
|
};
|
|
215
206
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
216
207
|
const { prefilledPublicData } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress));
|
|
@@ -259,19 +250,19 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
259
250
|
const privateAmount = 10000n;
|
|
260
251
|
const publicAmount = 10000n;
|
|
261
252
|
this.logger.verbose(`Minting ${privateAmount + publicAmount} publicly...`);
|
|
262
|
-
await asset.methods.mint_to_public(accounts[0]
|
|
263
|
-
from: accounts[0]
|
|
253
|
+
await asset.methods.mint_to_public(accounts[0], privateAmount + publicAmount).send({
|
|
254
|
+
from: accounts[0]
|
|
264
255
|
}).wait();
|
|
265
256
|
this.logger.verbose(`Transferring ${privateAmount} to private...`);
|
|
266
|
-
await asset.methods.transfer_to_private(accounts[0]
|
|
267
|
-
from: accounts[0]
|
|
257
|
+
await asset.methods.transfer_to_private(accounts[0], privateAmount).send({
|
|
258
|
+
from: accounts[0]
|
|
268
259
|
}).wait();
|
|
269
260
|
this.logger.verbose(`Minting complete.`);
|
|
270
261
|
return {
|
|
271
262
|
amount: publicAmount
|
|
272
263
|
};
|
|
273
264
|
}, async ({ amount })=>{
|
|
274
|
-
const { fakeProofsAsset: asset, accounts: [
|
|
265
|
+
const { fakeProofsAsset: asset, accounts: [address], tokenSim } = this;
|
|
275
266
|
tokenSim.mintPublic(address, amount);
|
|
276
267
|
const publicBalance = await asset.methods.balance_of_public(address).simulate({
|
|
277
268
|
from: address
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Logger } from '@aztec/aztec.js';
|
|
1
|
+
import type { Logger } from '@aztec/aztec.js/log';
|
|
2
2
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
3
3
|
export declare function getACVMConfig(logger: Logger): Promise<{
|
|
4
4
|
acvmWorkingDirectory: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_acvm_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_acvm_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get_acvm_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_acvm_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AAWnG,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CACxD;IACE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,GACD,SAAS,CACZ,CAyBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkBjD,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,KACb,OAAO,CAAC,CAAC,QAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,GAAG,SAAS,CAqCnE,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { fileURLToPath } from '@aztec/aztec.js';
|
|
2
1
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
3
2
|
import fs from 'node:fs/promises';
|
|
4
3
|
import { tmpdir } from 'node:os';
|
|
5
4
|
import path from 'path';
|
|
5
|
+
import { fileURLToPath } from 'url';
|
|
6
6
|
const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '1', BB_IVC_CONCURRENCY = '1' } = process.env;
|
|
7
7
|
export const getBBConfig = async (logger)=>{
|
|
8
8
|
try {
|
|
9
|
-
const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb');
|
|
9
|
+
const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb-avm');
|
|
10
10
|
await fs.access(bbBinaryPath, fs.constants.R_OK);
|
|
11
11
|
let bbWorkingDirectory;
|
|
12
12
|
let directoryToCleanup;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Logger } from '@aztec/aztec.js';
|
|
1
|
+
import type { Logger } from '@aztec/aztec.js/log';
|
|
2
2
|
import { type DeployL1ContractsArgs, type L1ContractsConfig } from '@aztec/ethereum';
|
|
3
3
|
import type { HDAccount, PrivateKeyAccount } from 'viem';
|
|
4
4
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
@@ -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,
|
|
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,qBAAqB,CAAC;AAClD,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,GAC3B,UAAU,MAAM,EAChB,SAAS,SAAS,GAAG,iBAAiB,EACtC,QAAQ,MAAM,EACd,MAAM,IAAI,CAAC,qBAAqB,EAAE,oBAAoB,GAAG,mBAAmB,CAAC,GAAG,iBAAiB,mEAWlG,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { deployL1Contracts } from '@aztec/ethereum';
|
|
2
2
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
3
|
-
import {
|
|
3
|
+
import { protocolContractsHash } 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)=>{
|
|
@@ -8,7 +8,7 @@ export const setupL1Contracts = async (l1RpcUrl, account, logger, args)=>{
|
|
|
8
8
|
l1RpcUrl
|
|
9
9
|
], account, foundry, logger, {
|
|
10
10
|
vkTreeRoot: getVKTreeRoot(),
|
|
11
|
-
|
|
11
|
+
protocolContractsHash,
|
|
12
12
|
salt: undefined,
|
|
13
13
|
realVerifier: false,
|
|
14
14
|
...args
|
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
* Test fixtures and utilities to set up and run a test using multiple validators
|
|
3
3
|
*/
|
|
4
4
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
5
|
-
import type { SentTx } from '@aztec/aztec.js';
|
|
6
5
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
7
6
|
import type { ProverNodeDeps } from '@aztec/prover-node';
|
|
8
|
-
import type { PXEService } from '@aztec/pxe/server';
|
|
9
7
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
10
8
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
11
9
|
export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
12
|
-
export interface NodeContext {
|
|
13
|
-
node: AztecNodeService;
|
|
14
|
-
pxeService: PXEService;
|
|
15
|
-
txs: SentTx[];
|
|
16
|
-
}
|
|
17
10
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
18
|
-
export declare function createNodes(config: AztecNodeConfig
|
|
19
|
-
|
|
11
|
+
export declare function createNodes(config: AztecNodeConfig & {
|
|
12
|
+
dontStartSequencer?: boolean;
|
|
13
|
+
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number): Promise<AztecNodeService[]>;
|
|
14
|
+
/** Creates a P2P enabled instance of Aztec Node Service with a validator */
|
|
15
|
+
export declare function createNode(config: AztecNodeConfig & {
|
|
16
|
+
dontStartSequencer?: boolean;
|
|
17
|
+
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
18
|
+
/** Creates a P2P enabled instance of Aztec Node Service without a validator */
|
|
19
|
+
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
20
20
|
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<import("@aztec/prover-node").ProverNode>;
|
|
21
|
+
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
21
22
|
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
22
23
|
//# sourceMappingURL=setup_p2p_test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,SAAI,GACd,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoC7B;AAED,4EAA4E;AAC5E,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,GAAG;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAY5C;AAED,+EAA+E;AAC/E,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAC3B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,6BAc5C;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,EAC/E,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,EAC1C,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,oDAwB5C;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,4BAgBvB;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,GAAE,MAAU,EACxB,aAAa,CAAC,EAAE,MAAM,4BAYvB"}
|
|
@@ -43,14 +43,33 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
43
43
|
removeLogNameHandler(logNameHandler);
|
|
44
44
|
return nodes;
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
46
|
+
/** Creates a P2P enabled instance of Aztec Node Service with a validator */ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, addressIndex, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
48
47
|
const createNode = async ()=>{
|
|
49
48
|
const validatorConfig = await createValidatorConfig(config, bootstrapNode, tcpPort, addressIndex, dataDirectory);
|
|
50
49
|
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
51
50
|
return await AztecNodeService.createAndSync(validatorConfig, {
|
|
52
51
|
telemetry,
|
|
53
52
|
dateProvider
|
|
53
|
+
}, {
|
|
54
|
+
prefilledPublicData,
|
|
55
|
+
dontStartSequencer: config.dontStartSequencer
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createNode) : createNode();
|
|
59
|
+
}
|
|
60
|
+
/** Creates a P2P enabled instance of Aztec Node Service without a validator */ export async function createNonValidatorNode(baseConfig, dateProvider, tcpPort, bootstrapNode, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
61
|
+
const createNode = async ()=>{
|
|
62
|
+
const p2pConfig = await createP2PConfig(baseConfig, bootstrapNode, tcpPort, dataDirectory);
|
|
63
|
+
const config = {
|
|
64
|
+
...p2pConfig,
|
|
65
|
+
disableValidator: true,
|
|
66
|
+
validatorPrivateKeys: undefined,
|
|
67
|
+
publisherPrivateKeys: []
|
|
68
|
+
};
|
|
69
|
+
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
70
|
+
return await AztecNodeService.createAndSync(config, {
|
|
71
|
+
telemetry,
|
|
72
|
+
dateProvider
|
|
54
73
|
}, {
|
|
55
74
|
prefilledPublicData
|
|
56
75
|
});
|
|
@@ -61,16 +80,7 @@ export async function createProverNode(config, tcpPort, bootstrapNode, addressIn
|
|
|
61
80
|
const createProverNode = async ()=>{
|
|
62
81
|
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
|
|
63
82
|
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
64
|
-
const proverConfig =
|
|
65
|
-
p2pIp: `127.0.0.1`,
|
|
66
|
-
p2pPort: tcpPort ?? await getPort(),
|
|
67
|
-
p2pEnabled: true,
|
|
68
|
-
peerCheckIntervalMS: TEST_PEER_CHECK_INTERVAL_MS,
|
|
69
|
-
blockCheckIntervalMS: 1000,
|
|
70
|
-
bootstrapNodes: bootstrapNode ? [
|
|
71
|
-
bootstrapNode
|
|
72
|
-
] : []
|
|
73
|
-
};
|
|
83
|
+
const proverConfig = await createP2PConfig(config, bootstrapNode, tcpPort, dataDirectory);
|
|
74
84
|
const aztecNodeRpcTxProvider = undefined;
|
|
75
85
|
return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), config, {
|
|
76
86
|
...proverConfig,
|
|
@@ -82,15 +92,8 @@ export async function createProverNode(config, tcpPort, bootstrapNode, addressIn
|
|
|
82
92
|
};
|
|
83
93
|
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createProverNode) : createProverNode();
|
|
84
94
|
}
|
|
85
|
-
export async function
|
|
95
|
+
export async function createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory) {
|
|
86
96
|
port = port ?? await getPort();
|
|
87
|
-
const attesterPrivateKey = bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex));
|
|
88
|
-
config.validatorPrivateKeys = new SecretValue([
|
|
89
|
-
attesterPrivateKey
|
|
90
|
-
]);
|
|
91
|
-
config.publisherPrivateKeys = [
|
|
92
|
-
new SecretValue(attesterPrivateKey)
|
|
93
|
-
];
|
|
94
97
|
const nodeConfig = {
|
|
95
98
|
...config,
|
|
96
99
|
p2pIp: `127.0.0.1`,
|
|
@@ -105,3 +108,18 @@ export async function createValidatorConfig(config, bootstrapNodeEnr, port, addr
|
|
|
105
108
|
};
|
|
106
109
|
return nodeConfig;
|
|
107
110
|
}
|
|
111
|
+
export async function createValidatorConfig(config, bootstrapNodeEnr, port, addressIndex = 1, dataDirectory) {
|
|
112
|
+
const attesterPrivateKey = bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex));
|
|
113
|
+
const p2pConfig = await createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory);
|
|
114
|
+
const nodeConfig = {
|
|
115
|
+
...config,
|
|
116
|
+
...p2pConfig,
|
|
117
|
+
validatorPrivateKeys: new SecretValue([
|
|
118
|
+
attesterPrivateKey
|
|
119
|
+
]),
|
|
120
|
+
publisherPrivateKeys: [
|
|
121
|
+
new SecretValue(attesterPrivateKey)
|
|
122
|
+
]
|
|
123
|
+
};
|
|
124
|
+
return nodeConfig;
|
|
125
|
+
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { type InitialAccountData } from '@aztec/accounts/testing';
|
|
2
2
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
3
|
-
import {
|
|
3
|
+
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
4
|
+
import type { Logger } from '@aztec/aztec.js/log';
|
|
5
|
+
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
6
|
+
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
4
7
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
5
8
|
import { type BlobSinkServer } from '@aztec/blob-sink/server';
|
|
6
9
|
import { type DeployL1ContractsArgs, type DeployL1ContractsReturnType } from '@aztec/ethereum';
|
|
7
10
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
8
11
|
import type { ProverNode } from '@aztec/prover-node';
|
|
9
|
-
import { type PXEService } from '@aztec/pxe/server';
|
|
10
12
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
13
|
+
import { TestWallet } from '@aztec/test-wallet/server';
|
|
11
14
|
import type { Anvil } from '@viem/anvil';
|
|
12
15
|
import { type SetupOptions } from './utils.js';
|
|
13
16
|
export type SubsystemsContext = {
|
|
@@ -16,7 +19,7 @@ export type SubsystemsContext = {
|
|
|
16
19
|
bbConfig: any;
|
|
17
20
|
aztecNode: AztecNodeService;
|
|
18
21
|
aztecNodeConfig: AztecNodeConfig;
|
|
19
|
-
|
|
22
|
+
wallet: TestWallet;
|
|
20
23
|
deployL1ContractsValues: DeployL1ContractsReturnType;
|
|
21
24
|
proverNode?: ProverNode;
|
|
22
25
|
watcher: AnvilTestWatcher;
|
|
@@ -73,8 +76,8 @@ declare class SnapshotManager implements ISnapshotManager {
|
|
|
73
76
|
* Snapshot 'apply' helper function to add accounts.
|
|
74
77
|
* The 'restore' function is not provided, as it must be a closure within the test context to capture the results.
|
|
75
78
|
*/
|
|
76
|
-
export declare const deployAccounts: (numberOfAccounts: number, logger: Logger
|
|
77
|
-
|
|
79
|
+
export declare const deployAccounts: (numberOfAccounts: number, logger: Logger) => ({ wallet, initialFundedAccounts }: {
|
|
80
|
+
wallet: TestWallet;
|
|
78
81
|
initialFundedAccounts: InitialAccountData[];
|
|
79
82
|
}) => Promise<{
|
|
80
83
|
deployedAccounts: InitialAccountData[];
|
|
@@ -85,8 +88,8 @@ export declare const deployAccounts: (numberOfAccounts: number, logger: Logger,
|
|
|
85
88
|
* @param sender - Wallet to send the deployment tx.
|
|
86
89
|
* @param accountsToDeploy - Which accounts to publicly deploy.
|
|
87
90
|
* @param waitUntilProven - Whether to wait for the tx to be proven.
|
|
88
|
-
* @param
|
|
91
|
+
* @param node - AztecNode used to wait for proven tx.
|
|
89
92
|
*/
|
|
90
|
-
export declare function publicDeployAccounts(
|
|
93
|
+
export declare function publicDeployAccounts(wallet: Wallet, accountsToDeploy: AztecAddress[], waitUntilProven?: boolean, node?: AztecNode): Promise<void>;
|
|
91
94
|
export {};
|
|
92
95
|
//# sourceMappingURL=snapshot_manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"snapshot_manager.d.ts","sourceRoot":"","sources":["../../src/fixtures/snapshot_manager.ts"],"names":[],"mappings":"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"}
|