@aztec/end-to-end 0.0.1-commit.f295ac2 → 0.0.1-commit.f8ca9b2f3
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 +2 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +29 -14
- package/dest/bench/client_flows/config.d.ts +2 -2
- package/dest/bench/client_flows/config.d.ts.map +1 -1
- package/dest/bench/client_flows/config.js +18 -0
- package/dest/bench/utils.d.ts +5 -4
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +9 -7
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +2 -2
- 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 +7 -8
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
- 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 +3 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +7 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +38 -10
- package/dest/e2e_fees/bridging_race.notest.js +1 -1
- package/dest/e2e_fees/fees_test.d.ts +2 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +6 -6
- package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +1 -7
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +2 -2
- package/dest/e2e_p2p/p2p_network.d.ts +2 -2
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +6 -2
- package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
- package/dest/e2e_p2p/reqresp/utils.js +153 -0
- package/dest/e2e_p2p/shared.d.ts +6 -6
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +14 -17
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
- package/dest/e2e_token_contract/token_contract_test.d.ts +2 -2
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +3 -3
- package/dest/fixtures/e2e_prover_test.d.ts +2 -2
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +8 -5
- package/dest/fixtures/ha_setup.d.ts +71 -0
- package/dest/fixtures/ha_setup.d.ts.map +1 -0
- package/dest/fixtures/ha_setup.js +114 -0
- package/dest/fixtures/index.d.ts +2 -1
- package/dest/fixtures/index.d.ts.map +1 -1
- package/dest/fixtures/index.js +1 -0
- package/dest/fixtures/setup.d.ts +18 -16
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +40 -93
- package/dest/fixtures/setup_p2p_test.d.ts +12 -8
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +29 -21
- package/dest/fixtures/token_utils.d.ts +1 -1
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/shared/cross_chain_test_harness.d.ts +3 -4
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +11 -11
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/submit-transactions.d.ts +4 -4
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +9 -11
- package/dest/shared/uniswap_l1_l2.d.ts +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +20 -18
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +2 -2
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +64 -35
- package/dest/spartan/tx_metrics.d.ts +48 -2
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +309 -5
- package/dest/spartan/utils/bot.d.ts +27 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +141 -0
- package/dest/spartan/utils/chaos.d.ts +79 -0
- package/dest/spartan/utils/chaos.d.ts.map +1 -0
- package/dest/spartan/utils/chaos.js +142 -0
- package/dest/spartan/utils/clients.d.ts +39 -0
- package/dest/spartan/utils/clients.d.ts.map +1 -0
- package/dest/spartan/utils/clients.js +90 -0
- package/dest/spartan/utils/config.d.ts +39 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +21 -0
- package/dest/spartan/utils/health.d.ts +63 -0
- package/dest/spartan/utils/health.d.ts.map +1 -0
- package/dest/spartan/utils/health.js +202 -0
- package/dest/spartan/utils/helm.d.ts +15 -0
- package/dest/spartan/utils/helm.d.ts.map +1 -0
- package/dest/spartan/utils/helm.js +47 -0
- package/dest/spartan/utils/index.d.ts +9 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +18 -0
- package/dest/spartan/utils/k8s.d.ts +126 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +375 -0
- package/dest/spartan/utils/nodes.d.ts +41 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +461 -0
- package/dest/spartan/utils/scripts.d.ts +30 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +81 -0
- package/dest/spartan/utils.d.ts +2 -260
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -942
- package/dest/test-wallet/test_wallet.d.ts +82 -0
- package/dest/test-wallet/test_wallet.d.ts.map +1 -0
- package/dest/test-wallet/test_wallet.js +213 -0
- package/dest/test-wallet/utils.d.ts +41 -0
- package/dest/test-wallet/utils.d.ts.map +1 -0
- package/dest/test-wallet/utils.js +71 -0
- package/package.json +43 -39
- package/src/bench/client_flows/client_flows_benchmark.ts +17 -30
- package/src/bench/client_flows/config.ts +9 -1
- package/src/bench/utils.ts +10 -8
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +11 -14
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
- package/src/e2e_deploy_contract/deploy_test.ts +3 -3
- package/src/e2e_epochs/epochs_test.ts +71 -35
- package/src/e2e_fees/bridging_race.notest.ts +2 -5
- package/src/e2e_fees/fees_test.ts +17 -21
- package/src/e2e_l1_publisher/write_json.ts +3 -8
- package/src/e2e_nested_contract/nested_contract_test.ts +3 -5
- package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
- package/src/e2e_p2p/p2p_network.ts +20 -14
- package/src/e2e_p2p/reqresp/utils.ts +207 -0
- package/src/e2e_p2p/shared.ts +22 -22
- package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
- package/src/e2e_token_contract/token_contract_test.ts +5 -7
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +8 -13
- package/src/fixtures/ha_setup.ts +184 -0
- package/src/fixtures/index.ts +1 -0
- package/src/fixtures/setup.ts +49 -126
- package/src/fixtures/setup_p2p_test.ts +31 -27
- package/src/fixtures/token_utils.ts +6 -5
- package/src/shared/cross_chain_test_harness.ts +13 -27
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/submit-transactions.ts +11 -16
- package/src/shared/uniswap_l1_l2.ts +21 -30
- package/src/simulators/lending_simulator.ts +2 -2
- package/src/spartan/setup_test_wallets.ts +75 -25
- package/src/spartan/tx_metrics.ts +231 -8
- package/src/spartan/utils/bot.ts +185 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +27 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +64 -0
- package/src/spartan/utils/k8s.ts +527 -0
- package/src/spartan/utils/nodes.ts +538 -0
- package/src/spartan/utils/scripts.ts +99 -0
- package/src/spartan/utils.ts +1 -1246
- package/src/test-wallet/test_wallet.ts +296 -0
- package/src/test-wallet/utils.ts +112 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
2
|
+
import { Fr } from '@aztec/aztec.js/fields';
|
|
3
|
+
import { SecretValue } from '@aztec/foundation/config';
|
|
4
|
+
import { Pool } from 'pg';
|
|
5
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
6
|
+
/**
|
|
7
|
+
* Get database configuration from environment variables
|
|
8
|
+
*/ export function createHADatabaseConfig(nodeId) {
|
|
9
|
+
const databaseUrl = process.env.DATABASE_URL || 'postgresql://aztec:aztec@localhost:5432/aztec_ha_test';
|
|
10
|
+
return {
|
|
11
|
+
databaseUrl,
|
|
12
|
+
nodeId,
|
|
13
|
+
haSigningEnabled: true,
|
|
14
|
+
pollingIntervalMs: 100,
|
|
15
|
+
signingTimeoutMs: 3000,
|
|
16
|
+
maxStuckDutiesAgeMs: 72000
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Setup PostgreSQL database connection pool for HA tests
|
|
21
|
+
*
|
|
22
|
+
* Note: Database migrations should be run separately before starting tests,
|
|
23
|
+
* either via docker-compose entrypoint or manually with: aztec migrate-ha-db up
|
|
24
|
+
*/ export function setupHADatabase(databaseUrl, logger) {
|
|
25
|
+
try {
|
|
26
|
+
// Create connection pool for test usage
|
|
27
|
+
// Migrations are already run by docker-compose entrypoint before tests start
|
|
28
|
+
const pool = new Pool({
|
|
29
|
+
connectionString: databaseUrl
|
|
30
|
+
});
|
|
31
|
+
logger?.info('Connected to HA database (migrations should already be applied)');
|
|
32
|
+
return pool;
|
|
33
|
+
} catch (error) {
|
|
34
|
+
logger?.error(`Failed to connect to HA database: ${error}`);
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Clean up HA database - drop all tables
|
|
40
|
+
* Use this between tests to ensure clean state
|
|
41
|
+
*/ export async function cleanupHADatabase(pool, logger) {
|
|
42
|
+
try {
|
|
43
|
+
// Drop all HA tables
|
|
44
|
+
await pool.query('DROP TABLE IF EXISTS validator_duties CASCADE');
|
|
45
|
+
await pool.query('DROP TABLE IF EXISTS slashing_protection CASCADE');
|
|
46
|
+
await pool.query('DROP TABLE IF EXISTS schema_version CASCADE');
|
|
47
|
+
logger?.info('HA database cleaned up successfully');
|
|
48
|
+
} catch (error) {
|
|
49
|
+
logger?.error(`Failed to cleanup HA database: ${error}`);
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Query validator duties from the database
|
|
55
|
+
*/ export async function getValidatorDuties(pool, slot, dutyType) {
|
|
56
|
+
const query = dutyType ? 'SELECT slot, duty_type, validator_address, node_id, started_at, completed_at FROM validator_duties WHERE slot = $1 AND duty_type = $2 ORDER BY started_at' : 'SELECT slot, duty_type, validator_address, node_id, started_at, completed_at FROM validator_duties WHERE slot = $1 ORDER BY started_at';
|
|
57
|
+
const params = dutyType ? [
|
|
58
|
+
slot.toString(),
|
|
59
|
+
dutyType
|
|
60
|
+
] : [
|
|
61
|
+
slot.toString()
|
|
62
|
+
];
|
|
63
|
+
const result = await pool.query(query, params);
|
|
64
|
+
return result.rows.map((row)=>({
|
|
65
|
+
slot: row.slot,
|
|
66
|
+
dutyType: row.duty_type,
|
|
67
|
+
validatorAddress: row.validator_address,
|
|
68
|
+
nodeId: row.node_id,
|
|
69
|
+
startedAt: row.started_at,
|
|
70
|
+
completedAt: row.completed_at
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Convert private keys to Ethereum addresses
|
|
75
|
+
*/ export function getAddressesFromPrivateKeys(privateKeys) {
|
|
76
|
+
return privateKeys.map((pk)=>{
|
|
77
|
+
const account = privateKeyToAccount(pk);
|
|
78
|
+
return account.address;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Create initial validators from private keys for L1 contract deployment
|
|
83
|
+
*/ export function createInitialValidatorsFromPrivateKeys(attesterPrivateKeys) {
|
|
84
|
+
return attesterPrivateKeys.map((pk)=>{
|
|
85
|
+
const account = privateKeyToAccount(pk);
|
|
86
|
+
return {
|
|
87
|
+
attester: EthAddress.fromString(account.address),
|
|
88
|
+
withdrawer: EthAddress.fromString(account.address),
|
|
89
|
+
privateKey: pk,
|
|
90
|
+
bn254SecretKey: new SecretValue(Fr.random().toBigInt())
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Verify no duplicate attestations per validator (HA coordination check)
|
|
96
|
+
* Groups duties by validator address and verifies each validator attested exactly once
|
|
97
|
+
*/ export function verifyNoDuplicateAttestations(attestationDuties, logger) {
|
|
98
|
+
const dutiesByValidator = new Map();
|
|
99
|
+
for (const duty of attestationDuties){
|
|
100
|
+
const existing = dutiesByValidator.get(duty.validatorAddress) || [];
|
|
101
|
+
existing.push(duty);
|
|
102
|
+
dutiesByValidator.set(duty.validatorAddress, existing);
|
|
103
|
+
}
|
|
104
|
+
for (const [validatorAddress, validatorDuties] of dutiesByValidator.entries()){
|
|
105
|
+
if (validatorDuties.length !== 1) {
|
|
106
|
+
throw new Error(`Validator ${validatorAddress} attested ${validatorDuties.length} times (expected exactly once)`);
|
|
107
|
+
}
|
|
108
|
+
if (!validatorDuties[0].completedAt) {
|
|
109
|
+
throw new Error(`Validator ${validatorAddress} attestation duty not completed`);
|
|
110
|
+
}
|
|
111
|
+
logger?.info(`Validator ${validatorAddress} attested once via node ${validatorDuties[0].nodeId}`);
|
|
112
|
+
}
|
|
113
|
+
return dutiesByValidator;
|
|
114
|
+
}
|
package/dest/fixtures/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './fixtures.js';
|
|
2
|
+
export * from './ha_setup.js';
|
|
2
3
|
export * from './logging.js';
|
|
3
4
|
export * from './utils.js';
|
|
4
5
|
export * from './token_utils.js';
|
|
5
6
|
export * from './with_telemetry_utils.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsMkJBQTJCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
|
package/dest/fixtures/index.js
CHANGED
package/dest/fixtures/setup.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
|
4
4
|
import { type ContractMethod } from '@aztec/aztec.js/contracts';
|
|
5
5
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
6
6
|
import { type Logger } from '@aztec/aztec.js/log';
|
|
7
|
-
import {
|
|
7
|
+
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
8
8
|
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
9
9
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
10
10
|
import { type DeployAztecL1ContractsArgs, type DeployAztecL1ContractsReturnType, type Operator, type ZKPassportArgs } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
@@ -21,9 +21,9 @@ import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
|
21
21
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
22
22
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
23
23
|
import { type TelemetryClient, type TelemetryClientConfig } from '@aztec/telemetry-client';
|
|
24
|
-
import { TestWallet } from '@aztec/test-wallet/server';
|
|
25
24
|
import type { Anvil } from '@viem/anvil';
|
|
26
25
|
import { type Chain } from 'viem/chains';
|
|
26
|
+
import { TestWallet } from '../test-wallet/test_wallet.js';
|
|
27
27
|
import { getACVMConfig } from './get_acvm_config.js';
|
|
28
28
|
import { getBBConfig } from './get_bb_config.js';
|
|
29
29
|
export { startAnvil };
|
|
@@ -39,10 +39,10 @@ export declare function setupSharedBlobStorage(config: {
|
|
|
39
39
|
* @param aztecNode - An instance of Aztec Node.
|
|
40
40
|
* @param opts - Partial configuration for the PXE.
|
|
41
41
|
* @param logger - The logger to be used.
|
|
42
|
-
* @param
|
|
42
|
+
* @param actor - Actor label to include in log output (e.g., 'pxe-test').
|
|
43
43
|
* @returns A test wallet, logger and teardown function.
|
|
44
44
|
*/
|
|
45
|
-
export declare function setupPXEAndGetWallet(aztecNode: AztecNode, opts?: Partial<PXEConfig>, logger?: Logger,
|
|
45
|
+
export declare function setupPXEAndGetWallet(aztecNode: AztecNode, opts?: Partial<PXEConfig>, logger?: Logger, actor?: string): Promise<{
|
|
46
46
|
wallet: TestWallet;
|
|
47
47
|
logger: Logger;
|
|
48
48
|
teardown: () => Promise<void>;
|
|
@@ -99,6 +99,8 @@ export type SetupOptions = {
|
|
|
99
99
|
skipAccountDeployment?: boolean;
|
|
100
100
|
/** L1 contracts deployment arguments. */
|
|
101
101
|
l1ContractsArgs?: Partial<DeployAztecL1ContractsArgs>;
|
|
102
|
+
/** Wallet minimum fee padding multiplier (defaults to 0.5, which is 50% padding). */
|
|
103
|
+
walletMinFeePadding?: number;
|
|
102
104
|
} & Partial<AztecNodeConfig>;
|
|
103
105
|
/** Context for an end-to-end test as returned by the `setup` function */
|
|
104
106
|
export type EndToEndContext = {
|
|
@@ -106,13 +108,13 @@ export type EndToEndContext = {
|
|
|
106
108
|
anvil: Anvil | undefined;
|
|
107
109
|
/** The Aztec Node service or client a connected to it. */
|
|
108
110
|
aztecNode: AztecNode;
|
|
109
|
-
/** The Aztec Node as a service
|
|
110
|
-
aztecNodeService: AztecNodeService
|
|
111
|
-
/** Client to the Aztec Node admin interface
|
|
112
|
-
aztecNodeAdmin: AztecNodeAdmin
|
|
111
|
+
/** The Aztec Node as a service. */
|
|
112
|
+
aztecNodeService: AztecNodeService;
|
|
113
|
+
/** Client to the Aztec Node admin interface. */
|
|
114
|
+
aztecNodeAdmin: AztecNodeAdmin;
|
|
113
115
|
/** The prover node service (only set if startProverNode is true) */
|
|
114
116
|
proverNode: ProverNode | undefined;
|
|
115
|
-
/** A client to the sequencer service
|
|
117
|
+
/** A client to the sequencer service. */
|
|
116
118
|
sequencer: SequencerClient | undefined;
|
|
117
119
|
/** Return values from deployAztecL1Contracts function. */
|
|
118
120
|
deployL1ContractsValues: DeployAztecL1ContractsReturnType;
|
|
@@ -132,12 +134,12 @@ export type EndToEndContext = {
|
|
|
132
134
|
cheatCodes: CheatCodes;
|
|
133
135
|
/** The cheat codes for L1 */
|
|
134
136
|
ethCheatCodes: EthCheatCodes;
|
|
135
|
-
/** The anvil test watcher
|
|
136
|
-
watcher: AnvilTestWatcher
|
|
137
|
-
/** Allows tweaking current system time, used by the epoch cache only
|
|
138
|
-
dateProvider: TestDateProvider
|
|
137
|
+
/** The anvil test watcher. */
|
|
138
|
+
watcher: AnvilTestWatcher;
|
|
139
|
+
/** Allows tweaking current system time, used by the epoch cache only. */
|
|
140
|
+
dateProvider: TestDateProvider;
|
|
139
141
|
/** Telemetry client */
|
|
140
|
-
telemetryClient: TelemetryClient
|
|
142
|
+
telemetryClient: TelemetryClient;
|
|
141
143
|
/** Mock gossip sub network used for gossipping messages (only if mockGossipSubNetwork was set to true in opts) */
|
|
142
144
|
mockGossipSubNetwork: MockGossipSubNetwork | undefined;
|
|
143
145
|
/** Prefilled public data used for setting up nodes. */
|
|
@@ -147,7 +149,7 @@ export type EndToEndContext = {
|
|
|
147
149
|
/** BB config (only set if running locally). */
|
|
148
150
|
bbConfig: Awaited<ReturnType<typeof getBBConfig>>;
|
|
149
151
|
/** Directory to cleanup on teardown. */
|
|
150
|
-
directoryToCleanup: string
|
|
152
|
+
directoryToCleanup: string;
|
|
151
153
|
/** Function to stop the started services. */
|
|
152
154
|
teardown: () => Promise<void>;
|
|
153
155
|
};
|
|
@@ -213,4 +215,4 @@ export declare function publicDeployAccounts(wallet: Wallet, accountsToDeploy: A
|
|
|
213
215
|
*/
|
|
214
216
|
export declare function teardown(context: EndToEndContext | undefined): Promise<void>;
|
|
215
217
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFDN0YsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFHTCxLQUFLLGNBQWMsRUFHcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVFwRSxPQUFPLEVBQ0wsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxRQUFRLEVBQ2IsS0FBSyxjQUFjLEVBRXBCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUVMLGFBQWEsRUFHYixVQUFVLEVBQ1gsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsV0FBVyxFQUFlLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTXZELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUk5RCxP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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/setup.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SchnorrAccountContractArtifact } from '@aztec/accounts/schnorr';
|
|
2
|
-
import { generateSchnorrAccounts
|
|
2
|
+
import { generateSchnorrAccounts } from '@aztec/accounts/testing';
|
|
3
3
|
import { createArchiver } from '@aztec/archiver';
|
|
4
4
|
import { AztecNodeService, getConfigEnvVars } from '@aztec/aztec-node';
|
|
5
5
|
import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
|
|
@@ -7,7 +7,6 @@ import { BatchCall, getContractClassFromArtifact, waitForProven } from '@aztec/a
|
|
|
7
7
|
import { publishContractClass, publishInstance } from '@aztec/aztec.js/deployment';
|
|
8
8
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
9
9
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
10
|
-
import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
|
|
11
10
|
import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
|
|
12
11
|
import { createBlobClientWithFileStores } from '@aztec/blob-client/client';
|
|
13
12
|
import { SPONSORED_FPC_SALT } from '@aztec/constants';
|
|
@@ -17,15 +16,15 @@ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
|
|
|
17
16
|
import { NULL_KEY } from '@aztec/ethereum/constants';
|
|
18
17
|
import { deployMulticall3 } from '@aztec/ethereum/contracts';
|
|
19
18
|
import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
20
|
-
import { DelayedTxUtils,
|
|
19
|
+
import { DelayedTxUtils, EthCheatCodesWithState, createDelayedL1TxUtilsFromViemWallet, startAnvil } from '@aztec/ethereum/test';
|
|
21
20
|
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
22
21
|
import { SecretValue } from '@aztec/foundation/config';
|
|
23
22
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
24
23
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
25
|
-
import {
|
|
24
|
+
import { withLoggerBindings } from '@aztec/foundation/log/server';
|
|
26
25
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
27
26
|
import { sleep } from '@aztec/foundation/sleep';
|
|
28
|
-
import {
|
|
27
|
+
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
29
28
|
import { SponsoredFPCContract } from '@aztec/noir-contracts.js/SponsoredFPC';
|
|
30
29
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
31
30
|
import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
|
|
@@ -36,21 +35,20 @@ import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contra
|
|
|
36
35
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
37
36
|
import { getConfigEnvVars as getTelemetryConfig, initTelemetryClient } from '@aztec/telemetry-client';
|
|
38
37
|
import { BenchmarkTelemetryClient } from '@aztec/telemetry-client/bench';
|
|
39
|
-
import {
|
|
38
|
+
import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
|
|
40
39
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
41
40
|
import fs from 'fs/promises';
|
|
42
41
|
import { tmpdir } from 'os';
|
|
43
42
|
import path from 'path';
|
|
44
43
|
import { generatePrivateKey, mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
|
|
45
44
|
import { foundry } from 'viem/chains';
|
|
45
|
+
import { TestWallet } from '../test-wallet/test_wallet.js';
|
|
46
46
|
import { MNEMONIC, TEST_MAX_PENDING_TX_POOL_COUNT, TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
47
47
|
import { getACVMConfig } from './get_acvm_config.js';
|
|
48
48
|
import { getBBConfig } from './get_bb_config.js';
|
|
49
49
|
import { isMetricsLoggingRequested, setupMetricsLogger } from './logging.js';
|
|
50
50
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
51
51
|
export { startAnvil };
|
|
52
|
-
const { AZTEC_NODE_URL = '' } = process.env;
|
|
53
|
-
const getAztecUrl = ()=>AZTEC_NODE_URL;
|
|
54
52
|
let telemetry = undefined;
|
|
55
53
|
async function getTelemetryClient(partialConfig = {}) {
|
|
56
54
|
if (!telemetry) {
|
|
@@ -86,9 +84,9 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
86
84
|
* @param aztecNode - An instance of Aztec Node.
|
|
87
85
|
* @param opts - Partial configuration for the PXE.
|
|
88
86
|
* @param logger - The logger to be used.
|
|
89
|
-
* @param
|
|
87
|
+
* @param actor - Actor label to include in log output (e.g., 'pxe-test').
|
|
90
88
|
* @returns A test wallet, logger and teardown function.
|
|
91
|
-
*/ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(),
|
|
89
|
+
*/ export async function setupPXEAndGetWallet(aztecNode, opts = {}, logger = getLogger(), actor) {
|
|
92
90
|
const PXEConfig = {
|
|
93
91
|
...getPXEConfig(),
|
|
94
92
|
...opts
|
|
@@ -102,7 +100,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
102
100
|
}
|
|
103
101
|
const teardown = configuredDataDirectory ? ()=>Promise.resolve() : ()=>tryRmDir(PXEConfig.dataDirectory);
|
|
104
102
|
const wallet = await TestWallet.create(aztecNode, PXEConfig, {
|
|
105
|
-
|
|
103
|
+
loggerActorLabel: actor
|
|
106
104
|
});
|
|
107
105
|
return {
|
|
108
106
|
wallet,
|
|
@@ -110,62 +108,6 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
110
108
|
teardown
|
|
111
109
|
};
|
|
112
110
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Function to setup the test against a remote deployment. It is assumed that L1 contract are already deployed
|
|
115
|
-
*/ async function setupWithRemoteEnvironment(account, config, logger, numberOfAccounts) {
|
|
116
|
-
const aztecNodeUrl = getAztecUrl();
|
|
117
|
-
logger.verbose(`Creating Aztec Node client to remote host ${aztecNodeUrl}`);
|
|
118
|
-
const aztecNode = createAztecNodeClient(aztecNodeUrl);
|
|
119
|
-
await waitForNode(aztecNode, logger);
|
|
120
|
-
logger.verbose('JSON RPC client connected to Aztec Node');
|
|
121
|
-
logger.verbose(`Retrieving contract addresses from ${aztecNodeUrl}`);
|
|
122
|
-
const { l1ContractAddresses, rollupVersion } = await aztecNode.getNodeInfo();
|
|
123
|
-
const l1Client = createExtendedL1Client(config.l1RpcUrls, account, foundry);
|
|
124
|
-
const deployL1ContractsValues = {
|
|
125
|
-
l1ContractAddresses,
|
|
126
|
-
l1Client,
|
|
127
|
-
rollupVersion
|
|
128
|
-
};
|
|
129
|
-
const ethCheatCodes = new EthCheatCodes(config.l1RpcUrls, new DateProvider());
|
|
130
|
-
const wallet = await TestWallet.create(aztecNode);
|
|
131
|
-
const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNode, new DateProvider());
|
|
132
|
-
const teardown = ()=>Promise.resolve();
|
|
133
|
-
logger.verbose('Populating wallet from already registered accounts...');
|
|
134
|
-
const initialFundedAccounts = await getInitialTestAccountsData();
|
|
135
|
-
if (initialFundedAccounts.length < numberOfAccounts) {
|
|
136
|
-
throw new Error(`Required ${numberOfAccounts} accounts. Found ${initialFundedAccounts.length}.`);
|
|
137
|
-
}
|
|
138
|
-
const testAccounts = await Promise.all(initialFundedAccounts.slice(0, numberOfAccounts).map(async (account)=>{
|
|
139
|
-
const accountManager = await wallet.createSchnorrAccount(account.secret, account.salt, account.signingKey);
|
|
140
|
-
return accountManager.address;
|
|
141
|
-
}));
|
|
142
|
-
return {
|
|
143
|
-
anvil: undefined,
|
|
144
|
-
aztecNode,
|
|
145
|
-
aztecNodeService: undefined,
|
|
146
|
-
aztecNodeAdmin: undefined,
|
|
147
|
-
sequencer: undefined,
|
|
148
|
-
proverNode: undefined,
|
|
149
|
-
deployL1ContractsValues,
|
|
150
|
-
config,
|
|
151
|
-
aztecNodeConfig: config,
|
|
152
|
-
initialFundedAccounts,
|
|
153
|
-
wallet,
|
|
154
|
-
accounts: testAccounts,
|
|
155
|
-
logger,
|
|
156
|
-
cheatCodes,
|
|
157
|
-
ethCheatCodes,
|
|
158
|
-
prefilledPublicData: undefined,
|
|
159
|
-
mockGossipSubNetwork: undefined,
|
|
160
|
-
watcher: undefined,
|
|
161
|
-
dateProvider: undefined,
|
|
162
|
-
telemetryClient: undefined,
|
|
163
|
-
acvmConfig: undefined,
|
|
164
|
-
bbConfig: undefined,
|
|
165
|
-
directoryToCleanup: undefined,
|
|
166
|
-
teardown
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
111
|
/**
|
|
170
112
|
* Sets up the environment for the end-to-end tests.
|
|
171
113
|
* @param numberOfAccounts - The number of new accounts to be created once the PXE is initiated.
|
|
@@ -202,13 +144,10 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
202
144
|
if (!isAnvilTestChain(chain.id)) {
|
|
203
145
|
throw new Error(`No ETHEREUM_HOSTS set but non anvil chain requested`);
|
|
204
146
|
}
|
|
205
|
-
if (AZTEC_NODE_URL) {
|
|
206
|
-
throw new Error(`AZTEC_NODE_URL provided but no ETHEREUM_HOSTS set. Refusing to run, please set both variables so tests can deploy L1 contracts to the same Anvil instance`);
|
|
207
|
-
}
|
|
208
147
|
const res = await startAnvil({
|
|
209
148
|
l1BlockTime: opts.ethereumSlotDuration,
|
|
210
149
|
accounts: opts.anvilAccounts,
|
|
211
|
-
port: opts.anvilPort
|
|
150
|
+
port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined)
|
|
212
151
|
});
|
|
213
152
|
anvil = res.anvil;
|
|
214
153
|
config.l1RpcUrls = [
|
|
@@ -255,10 +194,6 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
255
194
|
if (config.coinbase === undefined) {
|
|
256
195
|
config.coinbase = EthAddress.fromString(publisherHdAccount.address);
|
|
257
196
|
}
|
|
258
|
-
if (AZTEC_NODE_URL) {
|
|
259
|
-
// we are setting up against a remote environment, l1 contracts are assumed to already be deployed
|
|
260
|
-
return await setupWithRemoteEnvironment(publisherHdAccount, config, logger, numberOfAccounts);
|
|
261
|
-
}
|
|
262
197
|
// Determine which addresses to fund in genesis
|
|
263
198
|
const initialFundedAccounts = opts.initialFundedAccounts ?? await generateSchnorrAccounts(opts.numberOfInitialFundedAccounts ?? Math.max(numberOfAccounts, 10));
|
|
264
199
|
const addressesToFund = initialFundedAccounts.map((a)=>a.address);
|
|
@@ -352,14 +287,15 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
352
287
|
]);
|
|
353
288
|
}
|
|
354
289
|
}
|
|
355
|
-
const aztecNodeService = await
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
290
|
+
const aztecNodeService = await withLoggerBindings({
|
|
291
|
+
actor: 'node-0'
|
|
292
|
+
}, ()=>AztecNodeService.createAndSync(config, {
|
|
293
|
+
dateProvider,
|
|
294
|
+
telemetry: telemetryClient,
|
|
295
|
+
p2pClientDeps
|
|
296
|
+
}, {
|
|
297
|
+
prefilledPublicData
|
|
298
|
+
}));
|
|
363
299
|
const sequencerClient = aztecNodeService.getSequencer();
|
|
364
300
|
if (sequencerClient) {
|
|
365
301
|
const publisher = sequencerClient.sequencer.publisher;
|
|
@@ -374,9 +310,13 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
374
310
|
const proverNodeConfig = {
|
|
375
311
|
...config.proverNodeConfig,
|
|
376
312
|
dataDirectory: proverNodeDataDirectory,
|
|
377
|
-
p2pEnabled:
|
|
313
|
+
p2pEnabled: !!mockGossipSubNetwork
|
|
378
314
|
};
|
|
379
|
-
proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData
|
|
315
|
+
proverNode = await createAndSyncProverNode(proverNodePrivateKeyHex, config, proverNodeConfig, aztecNodeService, prefilledPublicData, {
|
|
316
|
+
p2pClientDeps: mockGossipSubNetwork ? {
|
|
317
|
+
p2pServiceFactory: getMockPubSubP2PServiceFactory(mockGossipSubNetwork)
|
|
318
|
+
} : undefined
|
|
319
|
+
});
|
|
380
320
|
}
|
|
381
321
|
logger.verbose('Creating a pxe...');
|
|
382
322
|
const pxeConfig = {
|
|
@@ -386,7 +326,12 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
386
326
|
pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
|
|
387
327
|
// For tests we only want proving enabled if specifically requested
|
|
388
328
|
pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
|
|
389
|
-
const wallet = await TestWallet.create(aztecNodeService, pxeConfig
|
|
329
|
+
const wallet = await TestWallet.create(aztecNodeService, pxeConfig, {
|
|
330
|
+
loggerActorLabel: 'pxe-0'
|
|
331
|
+
});
|
|
332
|
+
if (opts.walletMinFeePadding !== undefined) {
|
|
333
|
+
wallet.setMinFeePadding(opts.walletMinFeePadding);
|
|
334
|
+
}
|
|
390
335
|
const cheatCodes = await CheatCodes.create(config.l1RpcUrls, aztecNodeService, dateProvider);
|
|
391
336
|
if (opts.aztecTargetCommitteeSize && opts.aztecTargetCommitteeSize > 0 || opts.initialValidators && opts.initialValidators.length > 0) {
|
|
392
337
|
// We need to advance such that the committee is set up.
|
|
@@ -398,7 +343,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
398
343
|
if (shouldDeployAccounts) {
|
|
399
344
|
logger.info(`${numberOfAccounts} accounts are being deployed. Reliably progressing past genesis by setting minTxsPerBlock to 1 and waiting for the accounts to be deployed`);
|
|
400
345
|
const accountsData = initialFundedAccounts.slice(0, numberOfAccounts);
|
|
401
|
-
const accountManagers = await deployFundedSchnorrAccounts(wallet,
|
|
346
|
+
const accountManagers = await deployFundedSchnorrAccounts(wallet, accountsData);
|
|
402
347
|
accounts = accountManagers.map((accountManager)=>accountManager.address);
|
|
403
348
|
} else if (needsEmptyBlock) {
|
|
404
349
|
logger.info('No accounts are being deployed, waiting for an empty block 1 to be mined');
|
|
@@ -434,7 +379,7 @@ export const getPrivateKeyFromIndex = (index)=>{
|
|
|
434
379
|
logger.error(`Error during e2e test teardown`, err);
|
|
435
380
|
} finally{
|
|
436
381
|
try {
|
|
437
|
-
await telemetryClient
|
|
382
|
+
await telemetryClient.stop();
|
|
438
383
|
} catch (err) {
|
|
439
384
|
logger.error(`Error during telemetry client stop`, err);
|
|
440
385
|
}
|
|
@@ -517,7 +462,9 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
|
|
|
517
462
|
await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
|
|
518
463
|
}
|
|
519
464
|
export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = [], proverNodeDeps = {}) {
|
|
520
|
-
return
|
|
465
|
+
return withLoggerBindings({
|
|
466
|
+
actor: 'prover-0'
|
|
467
|
+
}, async ()=>{
|
|
521
468
|
const aztecNodeTxProvider = aztecNode && {
|
|
522
469
|
getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
|
|
523
470
|
getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
|
|
@@ -617,13 +564,13 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
617
564
|
if (!(await wallet.getContractClassMetadata(contractClass.id)).isContractClassPubliclyRegistered) {
|
|
618
565
|
await (await publishContractClass(wallet, SchnorrAccountContractArtifact)).send({
|
|
619
566
|
from: accountsToDeploy[0]
|
|
620
|
-
})
|
|
567
|
+
});
|
|
621
568
|
}
|
|
622
569
|
const requests = instances.map((instance)=>publishInstance(wallet, instance));
|
|
623
570
|
const batch = new BatchCall(wallet, requests);
|
|
624
571
|
await batch.send({
|
|
625
572
|
from: accountsToDeploy[0]
|
|
626
|
-
})
|
|
573
|
+
});
|
|
627
574
|
}
|
|
628
575
|
/**
|
|
629
576
|
* Helper function to deploy accounts.
|
|
@@ -641,7 +588,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
641
588
|
await deployMethod.send({
|
|
642
589
|
from: AztecAddress.ZERO,
|
|
643
590
|
skipClassPublication: i !== 0
|
|
644
|
-
})
|
|
591
|
+
});
|
|
645
592
|
}
|
|
646
593
|
return {
|
|
647
594
|
deployedAccounts
|
|
@@ -663,7 +610,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
|
|
|
663
610
|
const batch = new BatchCall(wallet, calls);
|
|
664
611
|
const txReceipt = await batch.send({
|
|
665
612
|
from: accountsToDeploy[0]
|
|
666
|
-
})
|
|
613
|
+
});
|
|
667
614
|
if (waitUntilProven) {
|
|
668
615
|
if (!node) {
|
|
669
616
|
throw new Error('Need to provide an AztecNode to wait for proven.');
|
|
@@ -5,19 +5,23 @@ import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
|
5
5
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
6
6
|
import type { ProverNodeDeps } from '@aztec/prover-node';
|
|
7
7
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
8
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
9
8
|
export declare const ATTESTER_PRIVATE_KEYS_START_INDEX = 3;
|
|
10
9
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
11
10
|
export declare function createNodes(config: AztecNodeConfig & {
|
|
12
11
|
dontStartSequencer?: boolean;
|
|
13
12
|
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
|
|
14
|
-
/**
|
|
15
|
-
export
|
|
13
|
+
/** Extended config type for createNode with test-specific overrides. */
|
|
14
|
+
export type CreateNodeConfig = AztecNodeConfig & {
|
|
15
|
+
/** Whether to skip starting the sequencer. */
|
|
16
16
|
dontStartSequencer?: boolean;
|
|
17
|
-
|
|
17
|
+
/** Override the private key (instead of deriving from addressIndex). */
|
|
18
|
+
validatorPrivateKey?: `0x${string}`;
|
|
19
|
+
};
|
|
20
|
+
/** Creates a P2P enabled instance of Aztec Node Service with a validator. */
|
|
21
|
+
export declare function createNode(config: CreateNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
18
22
|
/** 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
|
|
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
|
|
23
|
+
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService>;
|
|
24
|
+
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): Promise<import("@aztec/prover-node").ProverNode>;
|
|
21
25
|
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
22
|
-
export declare function createValidatorConfig(config:
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
export declare function createValidatorConfig(config: CreateNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfcDJwX3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cF9wMnBfdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzNFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBVzlELGVBQU8sTUFBTSxpQ0FBaUMsSUFBSSxDQUFDO0FBT25ELHdCQUFnQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQU83RjtBQUVELHdCQUFzQixXQUFXLENBQy9CLE1BQU0sRUFBRSxlQUFlLEdBQUc7SUFBRSxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFFLEVBQzFELFlBQVksRUFBRSxZQUFZLEVBQzFCLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsbUJBQW1CLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxFQUMxQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQ3RCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFDcEIsV0FBVyxTQUFJLEVBQ2YsaUJBQWlCLFNBQUksR0FDcEIsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FtQzdCO0FBRUQsd0VBQXdFO0FBQ3hFLE1BQU0sTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEdBQUc7SUFDL0MsOENBQThDO0lBQzlDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzdCLHdFQUF3RTtJQUN4RSxtQkFBbUIsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Q0FDckMsQ0FBQztBQUVGLDZFQUE2RTtBQUM3RSx3QkFBc0IsVUFBVSxDQUM5QixNQUFNLEVBQUUsZ0JBQWdCLEVBQ3hCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLFlBQVksRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLEVBQy9CLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQVlyQjtBQUVELCtFQUErRTtBQUMvRSx3QkFBc0Isc0JBQXNCLENBQzFDLFVBQVUsRUFBRSxlQUFlLEVBQzNCLFlBQVksRUFBRSxZQUFZLEVBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2pDLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFDMUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxFQUN0QixXQUFXLENBQUMsRUFBRSxNQUFNLDZCQWNyQjtBQUVELHdCQUFzQixnQkFBZ0IsQ0FDcEMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDakMsWUFBWSxFQUFFLE1BQU0sRUFDcEIsY0FBYyxFQUFFLGNBQWMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxFQUMvRSxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLEVBQzFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFDdEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxvREF3QnJCO0FBRUQsd0JBQXNCLGVBQWUsQ0FDbkMsTUFBTSxFQUFFLGVBQWUsRUFDdkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixhQUFhLENBQUMsRUFBRSxNQUFNLDRCQWdCdkI7QUFFRCx3QkFBc0IscUJBQXFCLENBQ3pDLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQ3pCLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixZQUFZLEdBQUUsTUFBTSxHQUFHLE1BQU0sRUFBTSxFQUNuQyxhQUFhLENBQUMsRUFBRSxNQUFNLDRCQW9CdkIifQ==
|