@aztec/end-to-end 1.0.0-nightly.20250701 → 1.0.0-nightly.20250703
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/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +2 -1
- package/dest/fixtures/setup_p2p_test.d.ts +2 -0
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +27 -1
- package/dest/fixtures/snapshot_manager.js +6 -3
- package/dest/fixtures/utils.d.ts +2 -2
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +11 -6
- package/package.json +35 -35
- package/src/fixtures/e2e_prover_test.ts +2 -1
- package/src/fixtures/setup_p2p_test.ts +39 -1
- package/src/fixtures/snapshot_manager.ts +3 -3
- package/src/fixtures/utils.ts +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,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,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,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,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,OAAO,EAAE,0BAA0B,EAAE,CAAM;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,GAAG,EAAG,UAAU,CAAC;IACjB,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,YAAY,EAAE,aAAa,EAAE,CAAM;IACnC,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;IAqDlB,KAAK;
|
|
1
|
+
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,MAAM,EAGZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,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,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,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,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC5C,OAAO,EAAE,0BAA0B,EAAE,CAAM;IAC3C,QAAQ,EAAE,eAAe,EAAE,CAAM;IACjC,eAAe,EAAG,aAAa,CAAC;IAChC,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,GAAG,EAAG,UAAU,CAAC;IACjB,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,YAAY,EAAE,aAAa,EAAE,CAAM;IACnC,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;IAqDlB,KAAK;YAiKG,WAAW;IAQzB,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"}
|
|
@@ -189,7 +189,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
189
189
|
this.logger.verbose('Starting prover node');
|
|
190
190
|
const proverConfig = {
|
|
191
191
|
...this.context.aztecNodeConfig,
|
|
192
|
-
|
|
192
|
+
txCollectionNodeRpcUrls: [],
|
|
193
193
|
dataDirectory: undefined,
|
|
194
194
|
proverId: this.proverAddress.toField(),
|
|
195
195
|
realProofs: this.realProofs,
|
|
@@ -201,6 +201,7 @@ const { E2E_DATA_PATH: dataPath } = process.env;
|
|
|
201
201
|
txGatheringIntervalMs: 1000,
|
|
202
202
|
txGatheringBatchSize: 10,
|
|
203
203
|
txGatheringMaxParallelRequestsPerNode: 100,
|
|
204
|
+
txGatheringTimeoutMs: 24_000,
|
|
204
205
|
proverNodeFailedEpochStore: undefined
|
|
205
206
|
};
|
|
206
207
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
5
5
|
import type { SentTx } from '@aztec/aztec.js';
|
|
6
6
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
7
|
+
import type { ProverNodeDeps } from '@aztec/prover-node';
|
|
7
8
|
import type { PXEService } from '@aztec/pxe/server';
|
|
8
9
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
9
10
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
@@ -16,5 +17,6 @@ export interface NodeContext {
|
|
|
16
17
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
17
18
|
export declare function createNodes(config: AztecNodeConfig, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number): Promise<AztecNodeService[]>;
|
|
18
19
|
export declare function createNode(config: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
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>;
|
|
19
21
|
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
20
22
|
//# 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;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,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;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQrD,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,EAAE,CAO7F;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,eAAe,EACvB,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,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAmC7B;AAGD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,eAAe,EACvB,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,6BAQ5C;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,oDAyB5C;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,4BAuBvB"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
*/ import { AztecNodeService } from '@aztec/aztec-node';
|
|
4
4
|
import { SecretValue } from '@aztec/foundation/config';
|
|
5
5
|
import { addLogNameHandler, removeLogNameHandler } from '@aztec/foundation/log';
|
|
6
|
+
import { bufferToHex } from '@aztec/foundation/string';
|
|
6
7
|
import getPort from 'get-port';
|
|
7
8
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
8
9
|
import { TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
9
|
-
import { getPrivateKeyFromIndex } from './utils.js';
|
|
10
|
+
import { createAndSyncProverNode, getPrivateKeyFromIndex } from './utils.js';
|
|
10
11
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
11
12
|
// Setup snapshots will create a node with index 0, and run extra bootstrap with
|
|
12
13
|
// index 1, so all of our loops here need to start from 2 to avoid running validators with the same key
|
|
@@ -54,6 +55,31 @@ export async function createNode(config, dateProvider, tcpPort, bootstrapNode, a
|
|
|
54
55
|
};
|
|
55
56
|
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createNode) : createNode();
|
|
56
57
|
}
|
|
58
|
+
export async function createProverNode(config, tcpPort, bootstrapNode, addressIndex, proverNodeDeps, prefilledPublicData, dataDirectory, metricsPort, loggerIdStorage) {
|
|
59
|
+
const createProverNode = async ()=>{
|
|
60
|
+
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex);
|
|
61
|
+
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
62
|
+
const proverConfig = {
|
|
63
|
+
p2pIp: `127.0.0.1`,
|
|
64
|
+
p2pPort: tcpPort ?? await getPort(),
|
|
65
|
+
p2pEnabled: true,
|
|
66
|
+
peerCheckIntervalMS: TEST_PEER_CHECK_INTERVAL_MS,
|
|
67
|
+
blockCheckIntervalMS: 1000,
|
|
68
|
+
bootstrapNodes: bootstrapNode ? [
|
|
69
|
+
bootstrapNode
|
|
70
|
+
] : []
|
|
71
|
+
};
|
|
72
|
+
const aztecNodeRpcTxProvider = undefined;
|
|
73
|
+
return await createAndSyncProverNode(bufferToHex(proverNodePrivateKey), config, {
|
|
74
|
+
...proverConfig,
|
|
75
|
+
dataDirectory
|
|
76
|
+
}, aztecNodeRpcTxProvider, prefilledPublicData, {
|
|
77
|
+
...proverNodeDeps,
|
|
78
|
+
telemetry
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createProverNode) : createProverNode();
|
|
82
|
+
}
|
|
57
83
|
export async function createValidatorConfig(config, bootstrapNodeEnr, port, addressIndex = 1, dataDirectory) {
|
|
58
84
|
port = port ?? await getPort();
|
|
59
85
|
const attesterPrivateKey = `0x${getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex).toString('hex')}`;
|
|
@@ -256,7 +256,9 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
256
256
|
]);
|
|
257
257
|
const ethCheatCodes = new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls);
|
|
258
258
|
if (opts.l1StartTime) {
|
|
259
|
-
await ethCheatCodes.warp(opts.l1StartTime
|
|
259
|
+
await ethCheatCodes.warp(opts.l1StartTime, {
|
|
260
|
+
resetBlockInterval: true
|
|
261
|
+
});
|
|
260
262
|
}
|
|
261
263
|
const initialFundedAccounts = await generateSchnorrAccounts(numberOfInitialFundedAccounts);
|
|
262
264
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
@@ -332,9 +334,10 @@ export function createSnapshotManager(testName, dataPath, config = {}, deployL1C
|
|
|
332
334
|
});
|
|
333
335
|
let proverNode = undefined;
|
|
334
336
|
if (opts.startProverNode) {
|
|
335
|
-
logger.verbose('Creating and syncing a simulated prover node...');
|
|
337
|
+
logger.verbose('Creating and syncing a simulated prover node with p2p disabled...');
|
|
336
338
|
proverNode = await createAndSyncProverNode(`0x${proverNodePrivateKey.toString('hex')}`, aztecNodeConfig, {
|
|
337
|
-
dataDirectory: path.join(directoryToCleanup, randomBytes(8).toString('hex'))
|
|
339
|
+
dataDirectory: path.join(directoryToCleanup, randomBytes(8).toString('hex')),
|
|
340
|
+
p2pEnabled: false
|
|
338
341
|
}, aztecNode, prefilledPublicData);
|
|
339
342
|
}
|
|
340
343
|
logger.verbose('Creating pxe...');
|
package/dest/fixtures/utils.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
9
9
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
10
10
|
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
11
11
|
import { MockGossipSubNetwork } from '@aztec/p2p/test-helpers';
|
|
12
|
-
import { type ProverNode, type ProverNodeConfig } from '@aztec/prover-node';
|
|
12
|
+
import { type ProverNode, type ProverNodeConfig, type ProverNodeDeps } from '@aztec/prover-node';
|
|
13
13
|
import { type PXEService, type PXEServiceConfig } from '@aztec/pxe/server';
|
|
14
14
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
15
15
|
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -182,5 +182,5 @@ export declare function setupSponsoredFPC(pxe: PXE): Promise<ContractInstanceWit
|
|
|
182
182
|
*/
|
|
183
183
|
export declare function registerSponsoredFPC(pxe: PXE): Promise<void>;
|
|
184
184
|
export declare function waitForProvenChain(node: AztecNode, targetBlock?: number, timeoutSec?: number, intervalSec?: number): Promise<void>;
|
|
185
|
-
export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${string}`, aztecNodeConfig: AztecNodeConfig, proverNodeConfig: Partial<ProverNodeConfig> & Pick<DataStoreConfig, 'dataDirectory'>, aztecNode: AztecNode, prefilledPublicData?: PublicDataTreeLeaf[]): Promise<ProverNode>;
|
|
185
|
+
export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${string}`, aztecNodeConfig: AztecNodeConfig, proverNodeConfig: Partial<ProverNodeConfig> & Pick<DataStoreConfig, 'dataDirectory'>, aztecNode: AztecNode | undefined, prefilledPublicData?: PublicDataTreeLeaf[], proverNodeDeps?: ProverNodeDeps): Promise<ProverNode>;
|
|
186
186
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -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,EAEL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAOZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAEhC,KAAK,QAAQ,EAOd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA0C,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAI1F,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,oBAAoB,EAAkC,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -231,7 +231,9 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
231
231
|
await ethCheatCodes.loadChainState(opts.stateLoad);
|
|
232
232
|
}
|
|
233
233
|
if (opts.l1StartTime) {
|
|
234
|
-
await ethCheatCodes.warp(opts.l1StartTime
|
|
234
|
+
await ethCheatCodes.warp(opts.l1StartTime, {
|
|
235
|
+
resetBlockInterval: true
|
|
236
|
+
});
|
|
235
237
|
}
|
|
236
238
|
let publisherPrivKey = undefined;
|
|
237
239
|
let publisherHdAccount = undefined;
|
|
@@ -298,7 +300,9 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
298
300
|
if (opts.l2StartTime) {
|
|
299
301
|
// This should only be used in synching test or when you need to have a stable
|
|
300
302
|
// timestamp for the first l2 block.
|
|
301
|
-
await ethCheatCodes.warp(opts.l2StartTime
|
|
303
|
+
await ethCheatCodes.warp(opts.l2StartTime, {
|
|
304
|
+
resetBlockInterval: true
|
|
305
|
+
});
|
|
302
306
|
}
|
|
303
307
|
const dateProvider = new TestDateProvider();
|
|
304
308
|
dateProvider.setTime(await ethCheatCodes.timestamp() * 1000);
|
|
@@ -377,7 +381,6 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
377
381
|
// We need to advance to epoch 2 such that the committee is set up.
|
|
378
382
|
logger.info(`Advancing to epoch 2`);
|
|
379
383
|
await cheatCodes.rollup.advanceToEpoch(2n, {
|
|
380
|
-
resetBlockInterval: true,
|
|
381
384
|
updateDateProvider: dateProvider
|
|
382
385
|
});
|
|
383
386
|
await cheatCodes.rollup.setupEpoch();
|
|
@@ -582,11 +585,11 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
|
|
|
582
585
|
targetBlock ??= await node.getBlockNumber();
|
|
583
586
|
await retryUntil(async ()=>await node.getProvenBlockNumber() >= targetBlock, 'proven chain status', timeoutSec, intervalSec);
|
|
584
587
|
}
|
|
585
|
-
export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = []) {
|
|
588
|
+
export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, proverNodeConfig, aztecNode, prefilledPublicData = [], proverNodeDeps = {}) {
|
|
586
589
|
return withLogNameSuffix('prover-node', async ()=>{
|
|
587
590
|
// Disable stopping the aztec node as the prover coordination test will kill it otherwise
|
|
588
591
|
// This is only required when stopping the prover node for testing
|
|
589
|
-
const aztecNodeTxProvider = {
|
|
592
|
+
const aztecNodeTxProvider = aztecNode && {
|
|
590
593
|
getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
|
|
591
594
|
getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
|
|
592
595
|
stop: ()=>Promise.resolve()
|
|
@@ -603,7 +606,7 @@ export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, p
|
|
|
603
606
|
// Prover node config is for simulated proofs
|
|
604
607
|
const proverConfig = {
|
|
605
608
|
...aztecNodeConfig,
|
|
606
|
-
|
|
609
|
+
txCollectionNodeRpcUrls: [],
|
|
607
610
|
realProofs: false,
|
|
608
611
|
proverAgentCount: 2,
|
|
609
612
|
publisherPrivateKey: new SecretValue(proverNodePrivateKey),
|
|
@@ -613,11 +616,13 @@ export function createAndSyncProverNode(proverNodePrivateKey, aztecNodeConfig, p
|
|
|
613
616
|
txGatheringIntervalMs: 1000,
|
|
614
617
|
txGatheringBatchSize: 10,
|
|
615
618
|
txGatheringMaxParallelRequestsPerNode: 10,
|
|
619
|
+
txGatheringTimeoutMs: 24_000,
|
|
616
620
|
proverNodeFailedEpochStore: undefined,
|
|
617
621
|
...proverNodeConfig
|
|
618
622
|
};
|
|
619
623
|
const l1TxUtils = createDelayedL1TxUtils(aztecNodeConfig, proverNodePrivateKey, 'prover-node');
|
|
620
624
|
const proverNode = await createProverNode(proverConfig, {
|
|
625
|
+
...proverNodeDeps,
|
|
621
626
|
aztecNodeTxProvider,
|
|
622
627
|
archiver: archiver,
|
|
623
628
|
l1TxUtils
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "1.0.0-nightly.
|
|
3
|
+
"version": "1.0.0-nightly.20250703",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,40 +25,40 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "1.0.0-nightly.
|
|
29
|
-
"@aztec/archiver": "1.0.0-nightly.
|
|
30
|
-
"@aztec/aztec": "1.0.0-nightly.
|
|
31
|
-
"@aztec/aztec-node": "1.0.0-nightly.
|
|
32
|
-
"@aztec/aztec.js": "1.0.0-nightly.
|
|
33
|
-
"@aztec/bb-prover": "1.0.0-nightly.
|
|
34
|
-
"@aztec/blob-lib": "1.0.0-nightly.
|
|
35
|
-
"@aztec/blob-sink": "1.0.0-nightly.
|
|
36
|
-
"@aztec/bot": "1.0.0-nightly.
|
|
37
|
-
"@aztec/cli": "1.0.0-nightly.
|
|
38
|
-
"@aztec/constants": "1.0.0-nightly.
|
|
39
|
-
"@aztec/entrypoints": "1.0.0-nightly.
|
|
40
|
-
"@aztec/epoch-cache": "1.0.0-nightly.
|
|
41
|
-
"@aztec/ethereum": "1.0.0-nightly.
|
|
42
|
-
"@aztec/foundation": "1.0.0-nightly.
|
|
43
|
-
"@aztec/kv-store": "1.0.0-nightly.
|
|
44
|
-
"@aztec/l1-artifacts": "1.0.0-nightly.
|
|
45
|
-
"@aztec/merkle-tree": "1.0.0-nightly.
|
|
46
|
-
"@aztec/noir-contracts.js": "1.0.0-nightly.
|
|
47
|
-
"@aztec/noir-noirc_abi": "1.0.0-nightly.
|
|
48
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.
|
|
49
|
-
"@aztec/noir-test-contracts.js": "1.0.0-nightly.
|
|
50
|
-
"@aztec/p2p": "1.0.0-nightly.
|
|
51
|
-
"@aztec/protocol-contracts": "1.0.0-nightly.
|
|
52
|
-
"@aztec/prover-client": "1.0.0-nightly.
|
|
53
|
-
"@aztec/prover-node": "1.0.0-nightly.
|
|
54
|
-
"@aztec/pxe": "1.0.0-nightly.
|
|
55
|
-
"@aztec/sequencer-client": "1.0.0-nightly.
|
|
56
|
-
"@aztec/simulator": "1.0.0-nightly.
|
|
57
|
-
"@aztec/slasher": "1.0.0-nightly.
|
|
58
|
-
"@aztec/stdlib": "1.0.0-nightly.
|
|
59
|
-
"@aztec/telemetry-client": "1.0.0-nightly.
|
|
60
|
-
"@aztec/validator-client": "1.0.0-nightly.
|
|
61
|
-
"@aztec/world-state": "1.0.0-nightly.
|
|
28
|
+
"@aztec/accounts": "1.0.0-nightly.20250703",
|
|
29
|
+
"@aztec/archiver": "1.0.0-nightly.20250703",
|
|
30
|
+
"@aztec/aztec": "1.0.0-nightly.20250703",
|
|
31
|
+
"@aztec/aztec-node": "1.0.0-nightly.20250703",
|
|
32
|
+
"@aztec/aztec.js": "1.0.0-nightly.20250703",
|
|
33
|
+
"@aztec/bb-prover": "1.0.0-nightly.20250703",
|
|
34
|
+
"@aztec/blob-lib": "1.0.0-nightly.20250703",
|
|
35
|
+
"@aztec/blob-sink": "1.0.0-nightly.20250703",
|
|
36
|
+
"@aztec/bot": "1.0.0-nightly.20250703",
|
|
37
|
+
"@aztec/cli": "1.0.0-nightly.20250703",
|
|
38
|
+
"@aztec/constants": "1.0.0-nightly.20250703",
|
|
39
|
+
"@aztec/entrypoints": "1.0.0-nightly.20250703",
|
|
40
|
+
"@aztec/epoch-cache": "1.0.0-nightly.20250703",
|
|
41
|
+
"@aztec/ethereum": "1.0.0-nightly.20250703",
|
|
42
|
+
"@aztec/foundation": "1.0.0-nightly.20250703",
|
|
43
|
+
"@aztec/kv-store": "1.0.0-nightly.20250703",
|
|
44
|
+
"@aztec/l1-artifacts": "1.0.0-nightly.20250703",
|
|
45
|
+
"@aztec/merkle-tree": "1.0.0-nightly.20250703",
|
|
46
|
+
"@aztec/noir-contracts.js": "1.0.0-nightly.20250703",
|
|
47
|
+
"@aztec/noir-noirc_abi": "1.0.0-nightly.20250703",
|
|
48
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250703",
|
|
49
|
+
"@aztec/noir-test-contracts.js": "1.0.0-nightly.20250703",
|
|
50
|
+
"@aztec/p2p": "1.0.0-nightly.20250703",
|
|
51
|
+
"@aztec/protocol-contracts": "1.0.0-nightly.20250703",
|
|
52
|
+
"@aztec/prover-client": "1.0.0-nightly.20250703",
|
|
53
|
+
"@aztec/prover-node": "1.0.0-nightly.20250703",
|
|
54
|
+
"@aztec/pxe": "1.0.0-nightly.20250703",
|
|
55
|
+
"@aztec/sequencer-client": "1.0.0-nightly.20250703",
|
|
56
|
+
"@aztec/simulator": "1.0.0-nightly.20250703",
|
|
57
|
+
"@aztec/slasher": "1.0.0-nightly.20250703",
|
|
58
|
+
"@aztec/stdlib": "1.0.0-nightly.20250703",
|
|
59
|
+
"@aztec/telemetry-client": "1.0.0-nightly.20250703",
|
|
60
|
+
"@aztec/validator-client": "1.0.0-nightly.20250703",
|
|
61
|
+
"@aztec/world-state": "1.0.0-nightly.20250703",
|
|
62
62
|
"@iarna/toml": "^2.2.5",
|
|
63
63
|
"@jest/globals": "^30.0.0",
|
|
64
64
|
"@noble/curves": "^1.0.0",
|
|
@@ -291,7 +291,7 @@ export class FullProverTest {
|
|
|
291
291
|
this.logger.verbose('Starting prover node');
|
|
292
292
|
const proverConfig: ProverNodeConfig = {
|
|
293
293
|
...this.context.aztecNodeConfig,
|
|
294
|
-
|
|
294
|
+
txCollectionNodeRpcUrls: [],
|
|
295
295
|
dataDirectory: undefined,
|
|
296
296
|
proverId: this.proverAddress.toField(),
|
|
297
297
|
realProofs: this.realProofs,
|
|
@@ -303,6 +303,7 @@ export class FullProverTest {
|
|
|
303
303
|
txGatheringIntervalMs: 1000,
|
|
304
304
|
txGatheringBatchSize: 10,
|
|
305
305
|
txGatheringMaxParallelRequestsPerNode: 100,
|
|
306
|
+
txGatheringTimeoutMs: 24_000,
|
|
306
307
|
proverNodeFailedEpochStore: undefined,
|
|
307
308
|
};
|
|
308
309
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
@@ -5,7 +5,9 @@ import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
|
5
5
|
import type { SentTx } from '@aztec/aztec.js';
|
|
6
6
|
import { SecretValue } from '@aztec/foundation/config';
|
|
7
7
|
import { addLogNameHandler, removeLogNameHandler } from '@aztec/foundation/log';
|
|
8
|
+
import { bufferToHex } from '@aztec/foundation/string';
|
|
8
9
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
10
|
+
import type { ProverNodeConfig, ProverNodeDeps } from '@aztec/prover-node';
|
|
9
11
|
import type { PXEService } from '@aztec/pxe/server';
|
|
10
12
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
11
13
|
|
|
@@ -13,7 +15,7 @@ import getPort from 'get-port';
|
|
|
13
15
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
14
16
|
|
|
15
17
|
import { TEST_PEER_CHECK_INTERVAL_MS } from './fixtures.js';
|
|
16
|
-
import { getPrivateKeyFromIndex } from './utils.js';
|
|
18
|
+
import { createAndSyncProverNode, getPrivateKeyFromIndex } from './utils.js';
|
|
17
19
|
import { getEndToEndTestTelemetryClient } from './with_telemetry_utils.js';
|
|
18
20
|
|
|
19
21
|
// Setup snapshots will create a node with index 0, and run extra bootstrap with
|
|
@@ -101,6 +103,42 @@ export async function createNode(
|
|
|
101
103
|
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createNode) : createNode();
|
|
102
104
|
}
|
|
103
105
|
|
|
106
|
+
export async function createProverNode(
|
|
107
|
+
config: AztecNodeConfig,
|
|
108
|
+
tcpPort: number,
|
|
109
|
+
bootstrapNode: string | undefined,
|
|
110
|
+
addressIndex: number,
|
|
111
|
+
proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>,
|
|
112
|
+
prefilledPublicData?: PublicDataTreeLeaf[],
|
|
113
|
+
dataDirectory?: string,
|
|
114
|
+
metricsPort?: number,
|
|
115
|
+
loggerIdStorage?: AsyncLocalStorage<string>,
|
|
116
|
+
) {
|
|
117
|
+
const createProverNode = async () => {
|
|
118
|
+
const proverNodePrivateKey = getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + addressIndex)!;
|
|
119
|
+
const telemetry = getEndToEndTestTelemetryClient(metricsPort);
|
|
120
|
+
|
|
121
|
+
const proverConfig: Partial<ProverNodeConfig> = {
|
|
122
|
+
p2pIp: `127.0.0.1`,
|
|
123
|
+
p2pPort: tcpPort ?? (await getPort()),
|
|
124
|
+
p2pEnabled: true,
|
|
125
|
+
peerCheckIntervalMS: TEST_PEER_CHECK_INTERVAL_MS,
|
|
126
|
+
blockCheckIntervalMS: 1000,
|
|
127
|
+
bootstrapNodes: bootstrapNode ? [bootstrapNode] : [],
|
|
128
|
+
};
|
|
129
|
+
const aztecNodeRpcTxProvider = undefined;
|
|
130
|
+
return await createAndSyncProverNode(
|
|
131
|
+
bufferToHex(proverNodePrivateKey),
|
|
132
|
+
config,
|
|
133
|
+
{ ...proverConfig, dataDirectory },
|
|
134
|
+
aztecNodeRpcTxProvider,
|
|
135
|
+
prefilledPublicData,
|
|
136
|
+
{ ...proverNodeDeps, telemetry },
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
return loggerIdStorage ? await loggerIdStorage.run(tcpPort.toString(), createProverNode) : createProverNode();
|
|
140
|
+
}
|
|
141
|
+
|
|
104
142
|
export async function createValidatorConfig(
|
|
105
143
|
config: AztecNodeConfig,
|
|
106
144
|
bootstrapNodeEnr?: string,
|
|
@@ -348,7 +348,7 @@ async function setupFromFresh(
|
|
|
348
348
|
const ethCheatCodes = new EthCheatCodesWithState(aztecNodeConfig.l1RpcUrls);
|
|
349
349
|
|
|
350
350
|
if (opts.l1StartTime) {
|
|
351
|
-
await ethCheatCodes.warp(opts.l1StartTime);
|
|
351
|
+
await ethCheatCodes.warp(opts.l1StartTime, { resetBlockInterval: true });
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
const initialFundedAccounts = await generateSchnorrAccounts(numberOfInitialFundedAccounts);
|
|
@@ -443,11 +443,11 @@ async function setupFromFresh(
|
|
|
443
443
|
|
|
444
444
|
let proverNode: ProverNode | undefined = undefined;
|
|
445
445
|
if (opts.startProverNode) {
|
|
446
|
-
logger.verbose('Creating and syncing a simulated prover node...');
|
|
446
|
+
logger.verbose('Creating and syncing a simulated prover node with p2p disabled...');
|
|
447
447
|
proverNode = await createAndSyncProverNode(
|
|
448
448
|
`0x${proverNodePrivateKey!.toString('hex')}`,
|
|
449
449
|
aztecNodeConfig,
|
|
450
|
-
{ dataDirectory: path.join(directoryToCleanup, randomBytes(8).toString('hex')) },
|
|
450
|
+
{ dataDirectory: path.join(directoryToCleanup, randomBytes(8).toString('hex')), p2pEnabled: false },
|
|
451
451
|
aztecNode,
|
|
452
452
|
prefilledPublicData,
|
|
453
453
|
);
|
package/src/fixtures/utils.ts
CHANGED
|
@@ -57,7 +57,7 @@ import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
|
57
57
|
import type { P2PClientDeps } from '@aztec/p2p';
|
|
58
58
|
import { MockGossipSubNetwork, getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
|
|
59
59
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
60
|
-
import { type ProverNode, type ProverNodeConfig, createProverNode } from '@aztec/prover-node';
|
|
60
|
+
import { type ProverNode, type ProverNodeConfig, type ProverNodeDeps, createProverNode } from '@aztec/prover-node';
|
|
61
61
|
import {
|
|
62
62
|
type PXEService,
|
|
63
63
|
type PXEServiceConfig,
|
|
@@ -420,7 +420,7 @@ export async function setup(
|
|
|
420
420
|
}
|
|
421
421
|
|
|
422
422
|
if (opts.l1StartTime) {
|
|
423
|
-
await ethCheatCodes.warp(opts.l1StartTime);
|
|
423
|
+
await ethCheatCodes.warp(opts.l1StartTime, { resetBlockInterval: true });
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
let publisherPrivKey = undefined;
|
|
@@ -509,7 +509,7 @@ export async function setup(
|
|
|
509
509
|
if (opts.l2StartTime) {
|
|
510
510
|
// This should only be used in synching test or when you need to have a stable
|
|
511
511
|
// timestamp for the first l2 block.
|
|
512
|
-
await ethCheatCodes.warp(opts.l2StartTime);
|
|
512
|
+
await ethCheatCodes.warp(opts.l2StartTime, { resetBlockInterval: true });
|
|
513
513
|
}
|
|
514
514
|
|
|
515
515
|
const dateProvider = new TestDateProvider();
|
|
@@ -609,7 +609,7 @@ export async function setup(
|
|
|
609
609
|
) {
|
|
610
610
|
// We need to advance to epoch 2 such that the committee is set up.
|
|
611
611
|
logger.info(`Advancing to epoch 2`);
|
|
612
|
-
await cheatCodes.rollup.advanceToEpoch(2n, {
|
|
612
|
+
await cheatCodes.rollup.advanceToEpoch(2n, { updateDateProvider: dateProvider });
|
|
613
613
|
await cheatCodes.rollup.setupEpoch();
|
|
614
614
|
await cheatCodes.rollup.debugRollup();
|
|
615
615
|
}
|
|
@@ -873,13 +873,14 @@ export function createAndSyncProverNode(
|
|
|
873
873
|
proverNodePrivateKey: `0x${string}`,
|
|
874
874
|
aztecNodeConfig: AztecNodeConfig,
|
|
875
875
|
proverNodeConfig: Partial<ProverNodeConfig> & Pick<DataStoreConfig, 'dataDirectory'>,
|
|
876
|
-
aztecNode: AztecNode,
|
|
876
|
+
aztecNode: AztecNode | undefined,
|
|
877
877
|
prefilledPublicData: PublicDataTreeLeaf[] = [],
|
|
878
|
+
proverNodeDeps: ProverNodeDeps = {},
|
|
878
879
|
) {
|
|
879
880
|
return withLogNameSuffix('prover-node', async () => {
|
|
880
881
|
// Disable stopping the aztec node as the prover coordination test will kill it otherwise
|
|
881
882
|
// This is only required when stopping the prover node for testing
|
|
882
|
-
const aztecNodeTxProvider = {
|
|
883
|
+
const aztecNodeTxProvider = aztecNode && {
|
|
883
884
|
getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
|
|
884
885
|
getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
|
|
885
886
|
stop: () => Promise.resolve(),
|
|
@@ -894,7 +895,7 @@ export function createAndSyncProverNode(
|
|
|
894
895
|
// Prover node config is for simulated proofs
|
|
895
896
|
const proverConfig: ProverNodeConfig = {
|
|
896
897
|
...aztecNodeConfig,
|
|
897
|
-
|
|
898
|
+
txCollectionNodeRpcUrls: [],
|
|
898
899
|
realProofs: false,
|
|
899
900
|
proverAgentCount: 2,
|
|
900
901
|
publisherPrivateKey: new SecretValue(proverNodePrivateKey),
|
|
@@ -904,6 +905,7 @@ export function createAndSyncProverNode(
|
|
|
904
905
|
txGatheringIntervalMs: 1000,
|
|
905
906
|
txGatheringBatchSize: 10,
|
|
906
907
|
txGatheringMaxParallelRequestsPerNode: 10,
|
|
908
|
+
txGatheringTimeoutMs: 24_000,
|
|
907
909
|
proverNodeFailedEpochStore: undefined,
|
|
908
910
|
...proverNodeConfig,
|
|
909
911
|
};
|
|
@@ -912,7 +914,7 @@ export function createAndSyncProverNode(
|
|
|
912
914
|
|
|
913
915
|
const proverNode = await createProverNode(
|
|
914
916
|
proverConfig,
|
|
915
|
-
{ aztecNodeTxProvider, archiver: archiver as Archiver, l1TxUtils },
|
|
917
|
+
{ ...proverNodeDeps, aztecNodeTxProvider, archiver: archiver as Archiver, l1TxUtils },
|
|
916
918
|
{ prefilledPublicData },
|
|
917
919
|
);
|
|
918
920
|
getLogger().info(`Created and synced prover node`, { publisherAddress: l1TxUtils.client.account!.address });
|