@aztec/prover-node 0.76.4 → 0.77.0-testnet-ignition.17
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/config.d.ts +5 -2
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +24 -30
- package/dest/factory.d.ts +6 -3
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +21 -14
- package/dest/http.d.ts +1 -1
- package/dest/http.d.ts.map +1 -1
- package/dest/http.js +2 -4
- package/dest/index.js +0 -1
- package/dest/job/epoch-proving-job.d.ts +7 -4
- package/dest/job/epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-proving-job.js +233 -193
- package/dest/metrics.d.ts +5 -2
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +50 -25
- package/dest/monitors/epoch-monitor.d.ts +22 -3
- package/dest/monitors/epoch-monitor.d.ts.map +1 -1
- package/dest/monitors/epoch-monitor.js +102 -48
- package/dest/monitors/index.js +0 -1
- package/dest/prover-coordination/config.js +2 -3
- package/dest/prover-coordination/factory.d.ts +5 -5
- package/dest/prover-coordination/factory.d.ts.map +1 -1
- package/dest/prover-coordination/factory.js +11 -8
- package/dest/prover-coordination/index.js +0 -1
- package/dest/prover-node-publisher.d.ts +5 -4
- package/dest/prover-node-publisher.d.ts.map +1 -1
- package/dest/prover-node-publisher.js +60 -52
- package/dest/prover-node.d.ts +12 -7
- package/dest/prover-node.d.ts.map +1 -1
- package/dest/prover-node.js +237 -224
- package/dest/test/index.d.ts +2 -2
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +2 -1
- package/package.json +21 -22
- package/src/config.ts +23 -31
- package/src/factory.ts +17 -8
- package/src/http.ts +2 -2
- package/src/job/epoch-proving-job.ts +11 -13
- package/src/metrics.ts +26 -5
- package/src/monitors/epoch-monitor.ts +57 -12
- package/src/prover-coordination/factory.ts +9 -12
- package/src/prover-node-publisher.ts +21 -14
- package/src/prover-node.ts +24 -22
- package/src/test/index.ts +2 -2
package/dest/config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ArchiverConfig } from '@aztec/archiver/config';
|
|
2
|
-
import {
|
|
2
|
+
import type { ACVMConfig, BBConfig } from '@aztec/bb-prover/config';
|
|
3
3
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
4
4
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
5
5
|
import { type P2PConfig } from '@aztec/p2p/config';
|
|
@@ -8,7 +8,10 @@ import { type ProverClientConfig } from '@aztec/prover-client/config';
|
|
|
8
8
|
import { type PublisherConfig, type TxSenderConfig } from '@aztec/sequencer-client/config';
|
|
9
9
|
import { type WorldStateConfig } from '@aztec/world-state/config';
|
|
10
10
|
import { type ProverCoordinationConfig } from './prover-coordination/config.js';
|
|
11
|
-
export type ProverNodeConfig = ArchiverConfig & ProverClientConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SpecificProverNodeConfig
|
|
11
|
+
export type ProverNodeConfig = ArchiverConfig & ProverClientConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SpecificProverNodeConfig & {
|
|
12
|
+
/** Whether to populate the genesis state with initial fee juice for the test accounts */
|
|
13
|
+
testAccounts: boolean;
|
|
14
|
+
};
|
|
12
15
|
type SpecificProverNodeConfig = {
|
|
13
16
|
proverNodeMaxPendingJobs: number;
|
|
14
17
|
proverNodePollingIntervalMs: number;
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,kBAAkB,EAAgD,MAAM,6BAA6B,CAAC;AACpH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,KAAK,wBAAwB,EAAoC,MAAM,iCAAiC,CAAC;AAElH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAC3C,kBAAkB,GAClB,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,wBAAwB,GAAG;IACzB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ,KAAK,wBAAwB,GAAG;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,mCAAmC,EAAE,MAAM,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B,EAAE,MAAM,CAAC;CACxC,CAAC;AAmCF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAezE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAE7D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CAIrE;AAED,wBAAgB,+BAA+B,IAAI,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAK3F"}
|
package/dest/config.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { archiverConfigMappings
|
|
2
|
-
import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
|
-
import { dataConfigMappings
|
|
4
|
-
import {
|
|
5
|
-
import { proverAgentConfigMappings, proverBrokerConfigMappings
|
|
6
|
-
import { bbConfigMappings,
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { archiverConfigMappings } from '@aztec/archiver/config';
|
|
2
|
+
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
|
+
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
4
|
+
import { p2pConfigMappings } from '@aztec/p2p/config';
|
|
5
|
+
import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
|
|
6
|
+
import { bbConfigMappings, proverClientConfigMappings } from '@aztec/prover-client/config';
|
|
7
|
+
import { getPublisherConfigMappings, getTxSenderConfigMappings } from '@aztec/sequencer-client/config';
|
|
8
|
+
import { worldStateConfigMappings } from '@aztec/world-state/config';
|
|
9
|
+
import { proverCoordinationConfigMappings } from './prover-coordination/config.js';
|
|
10
10
|
const specificProverNodeConfigMappings = {
|
|
11
11
|
proverNodeMaxPendingJobs: {
|
|
12
12
|
env: 'PROVER_NODE_MAX_PENDING_JOBS',
|
|
13
13
|
description: 'The maximum number of pending jobs for the prover node',
|
|
14
|
-
...numberConfigHelper(10)
|
|
14
|
+
...numberConfigHelper(10)
|
|
15
15
|
},
|
|
16
16
|
proverNodePollingIntervalMs: {
|
|
17
17
|
env: 'PROVER_NODE_POLLING_INTERVAL_MS',
|
|
18
18
|
description: 'The interval in milliseconds to poll for new jobs',
|
|
19
|
-
...numberConfigHelper(1000)
|
|
19
|
+
...numberConfigHelper(1000)
|
|
20
20
|
},
|
|
21
21
|
proverNodeMaxParallelBlocksPerEpoch: {
|
|
22
22
|
env: 'PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH',
|
|
23
23
|
description: 'The Maximum number of blocks to process in parallel while proving an epoch',
|
|
24
|
-
...numberConfigHelper(32)
|
|
24
|
+
...numberConfigHelper(32)
|
|
25
25
|
},
|
|
26
26
|
txGatheringTimeoutMs: {
|
|
27
27
|
env: 'PROVER_NODE_TX_GATHERING_TIMEOUT_MS',
|
|
28
28
|
description: 'The maximum amount of time to wait for tx data to be available',
|
|
29
|
-
...numberConfigHelper(
|
|
29
|
+
...numberConfigHelper(60_000)
|
|
30
30
|
},
|
|
31
31
|
txGatheringIntervalMs: {
|
|
32
32
|
env: 'PROVER_NODE_TX_GATHERING_INTERVAL_MS',
|
|
33
33
|
description: 'How often to check that tx data is available',
|
|
34
|
-
...numberConfigHelper(
|
|
34
|
+
...numberConfigHelper(1_000)
|
|
35
35
|
},
|
|
36
36
|
txGatheringMaxParallelRequests: {
|
|
37
37
|
env: 'PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS',
|
|
38
38
|
description: 'How many txs to load up a time',
|
|
39
|
-
...numberConfigHelper(100)
|
|
40
|
-
}
|
|
39
|
+
...numberConfigHelper(100)
|
|
40
|
+
}
|
|
41
41
|
};
|
|
42
42
|
export const proverNodeConfigMappings = {
|
|
43
43
|
...dataConfigMappings,
|
|
@@ -49,29 +49,23 @@ export const proverNodeConfigMappings = {
|
|
|
49
49
|
...getTxSenderConfigMappings('PROVER'),
|
|
50
50
|
...proverCoordinationConfigMappings,
|
|
51
51
|
...specificProverNodeConfigMappings,
|
|
52
|
+
testAccounts: {
|
|
53
|
+
env: 'TEST_ACCOUNTS',
|
|
54
|
+
description: 'Whether to populate the genesis state with initial fee juice for the test accounts.',
|
|
55
|
+
...booleanConfigHelper(false)
|
|
56
|
+
}
|
|
52
57
|
};
|
|
53
58
|
export function getProverNodeConfigFromEnv() {
|
|
54
|
-
return
|
|
55
|
-
...getP2PConfigFromEnv(),
|
|
56
|
-
...getDataConfigFromEnv(),
|
|
57
|
-
...getArchiverConfigFromEnv(),
|
|
58
|
-
...getProverEnvVars(),
|
|
59
|
-
...getWorldStateConfigFromEnv(),
|
|
60
|
-
...getPublisherConfigFromEnv('PROVER'),
|
|
61
|
-
...getTxSenderConfigFromEnv('PROVER'),
|
|
62
|
-
...getTxProviderConfigFromEnv(),
|
|
63
|
-
...getConfigFromMappings(specificProverNodeConfigMappings),
|
|
64
|
-
};
|
|
59
|
+
return getConfigFromMappings(proverNodeConfigMappings);
|
|
65
60
|
}
|
|
66
61
|
export function getProverNodeBrokerConfigFromEnv() {
|
|
67
62
|
return {
|
|
68
|
-
...getConfigFromMappings(proverBrokerConfigMappings)
|
|
63
|
+
...getConfigFromMappings(proverBrokerConfigMappings)
|
|
69
64
|
};
|
|
70
65
|
}
|
|
71
66
|
export function getProverNodeAgentConfigFromEnv() {
|
|
72
67
|
return {
|
|
73
68
|
...getConfigFromMappings(proverAgentConfigMappings),
|
|
74
|
-
...getConfigFromMappings(bbConfigMappings)
|
|
69
|
+
...getConfigFromMappings(bbConfigMappings)
|
|
75
70
|
};
|
|
76
71
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0csT0FBTyxFQUEyQixxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlHLE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RyxPQUFPLEVBQWtCLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0YsT0FBTyxFQUdMLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDM0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQiwwQkFBMEIsR0FDM0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUF5QiwwQkFBMEIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhILE9BQU8sRUFFTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0saUNBQWlDLENBQUM7QUFxQnpDLE1BQU0sZ0NBQWdDLEdBQWlEO0lBQ3JGLHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsV0FBVyxFQUFFLHdEQUF3RDtRQUNyRSxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztLQUMxQjtJQUNELDJCQUEyQixFQUFFO1FBQzNCLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsV0FBVyxFQUFFLG1EQUFtRDtRQUNoRSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztLQUM1QjtJQUNELG1DQUFtQyxFQUFFO1FBQ25DLEdBQUcsRUFBRSwyQ0FBMkM7UUFDaEQsV0FBVyxFQUFFLDRFQUE0RTtRQUN6RixHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztLQUMxQjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLEdBQUcsRUFBRSxxQ0FBcUM7UUFDMUMsV0FBVyxFQUFFLGdFQUFnRTtRQUM3RSxHQUFHLGtCQUFrQixDQUFDLEtBQU0sQ0FBQztLQUM5QjtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLEdBQUcsRUFBRSxzQ0FBc0M7UUFDM0MsV0FBVyxFQUFFLDhDQUE4QztRQUMzRCxHQUFHLGtCQUFrQixDQUFDLElBQUssQ0FBQztLQUM3QjtJQUNELDhCQUE4QixFQUFFO1FBQzlCLEdBQUcsRUFBRSxnREFBZ0Q7UUFDckQsV0FBVyxFQUFFLGdDQUFnQztRQUM3QyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztLQUMzQjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBeUM7SUFDNUUsR0FBRyxrQkFBa0I7SUFDckIsR0FBRyxzQkFBc0I7SUFDekIsR0FBRywwQkFBMEI7SUFDN0IsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyx3QkFBd0I7SUFDM0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsR0FBRyx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7SUFDdEMsR0FBRyxnQ0FBZ0M7SUFDbkMsR0FBRyxnQ0FBZ0M7Q0FDcEMsQ0FBQztBQUVGLE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMLEdBQUcsbUJBQW1CLEVBQUU7UUFDeEIsR0FBRyxvQkFBb0IsRUFBRTtRQUN6QixHQUFHLHdCQUF3QixFQUFFO1FBQzdCLEdBQUcsZ0JBQWdCLEVBQUU7UUFDckIsR0FBRywwQkFBMEIsRUFBRTtRQUMvQixHQUFHLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUN0QyxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQztRQUNyQyxHQUFHLDBCQUEwQixFQUFFO1FBQy9CLEdBQUcscUJBQXFCLENBQUMsZ0NBQWdDLENBQUM7S0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzlDLE9BQU87UUFDTCxHQUFHLHFCQUFxQixDQUFDLDBCQUEwQixDQUFDO0tBQ3JELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQjtJQUM3QyxPQUFPO1FBQ0wsR0FBRyxxQkFBcUIsQ0FBQyx5QkFBeUIsQ0FBQztRQUNuRCxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDO0tBQzNDLENBQUM7QUFDSixDQUFDIn0=
|
package/dest/factory.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type Archiver } from '@aztec/archiver';
|
|
2
2
|
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
3
|
-
import { type ProverCoordination, type ProvingJobBroker } from '@aztec/circuit-types';
|
|
4
3
|
import { L1TxUtils } from '@aztec/ethereum';
|
|
5
4
|
import { type Logger } from '@aztec/foundation/log';
|
|
6
|
-
import {
|
|
5
|
+
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
6
|
+
import type { ProverCoordination, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
|
|
7
|
+
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
7
8
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
8
|
-
import {
|
|
9
|
+
import type { ProverNodeConfig } from './config.js';
|
|
9
10
|
import { ProverNodePublisher } from './prover-node-publisher.js';
|
|
10
11
|
import { ProverNode } from './prover-node.js';
|
|
11
12
|
/** Creates a new prover node given a config. */
|
|
@@ -18,5 +19,7 @@ export declare function createProverNode(config: ProverNodeConfig & DataStoreCon
|
|
|
18
19
|
blobSinkClient?: BlobSinkClientInterface;
|
|
19
20
|
broker?: ProvingJobBroker;
|
|
20
21
|
l1TxUtils?: L1TxUtils;
|
|
22
|
+
}, options?: {
|
|
23
|
+
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
21
24
|
}): Promise<ProverNode>;
|
|
22
25
|
//# sourceMappingURL=factory.d.ts.map
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAwD,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAGnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAEtE,gDAAgD;AAChD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;CAClB,EACN,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC,uBAgEP"}
|
package/dest/factory.js
CHANGED
|
@@ -11,24 +11,32 @@ import { EpochMonitor } from './monitors/epoch-monitor.js';
|
|
|
11
11
|
import { createProverCoordination } from './prover-coordination/factory.js';
|
|
12
12
|
import { ProverNodePublisher } from './prover-node-publisher.js';
|
|
13
13
|
import { ProverNode } from './prover-node.js';
|
|
14
|
-
/** Creates a new prover node given a config. */
|
|
15
|
-
export async function createProverNode(config, deps = {}) {
|
|
14
|
+
/** Creates a new prover node given a config. */ export async function createProverNode(config, deps = {}, options = {}) {
|
|
16
15
|
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
17
16
|
const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config);
|
|
18
17
|
const log = deps.log ?? createLogger('prover-node');
|
|
19
|
-
const archiver = deps.archiver ??
|
|
18
|
+
const archiver = deps.archiver ?? await createArchiver(config, blobSinkClient, {
|
|
19
|
+
blockUntilSync: true
|
|
20
|
+
}, telemetry);
|
|
20
21
|
log.verbose(`Created archiver and synced to block ${await archiver.getBlockNumber()}`);
|
|
21
|
-
const worldStateConfig = {
|
|
22
|
-
|
|
22
|
+
const worldStateConfig = {
|
|
23
|
+
...config,
|
|
24
|
+
worldStateProvenBlocksOnly: false
|
|
25
|
+
};
|
|
26
|
+
const worldStateSynchronizer = await createWorldStateSynchronizer(worldStateConfig, archiver, options.prefilledPublicData, telemetry);
|
|
23
27
|
await worldStateSynchronizer.start();
|
|
24
|
-
const broker = deps.broker ??
|
|
28
|
+
const broker = deps.broker ?? await createAndStartProvingBroker(config, telemetry);
|
|
25
29
|
const prover = await createProverClient(config, worldStateSynchronizer, broker, telemetry);
|
|
26
|
-
const {
|
|
27
|
-
const chain = createEthereumChain(
|
|
28
|
-
const { publicClient, walletClient } = createL1Clients(
|
|
30
|
+
const { l1RpcUrls: rpcUrls, l1ChainId: chainId, publisherPrivateKey } = config;
|
|
31
|
+
const chain = createEthereumChain(rpcUrls, chainId);
|
|
32
|
+
const { publicClient, walletClient } = createL1Clients(rpcUrls, publisherPrivateKey, chain.chainInfo);
|
|
29
33
|
const rollupContract = new RollupContract(publicClient, config.l1Contracts.rollupAddress.toString());
|
|
30
34
|
const l1TxUtils = deps.l1TxUtils ?? new L1TxUtils(publicClient, walletClient, log, config);
|
|
31
|
-
const publisher = deps.publisher ?? new ProverNodePublisher(config, {
|
|
35
|
+
const publisher = deps.publisher ?? new ProverNodePublisher(config, {
|
|
36
|
+
telemetry,
|
|
37
|
+
rollupContract,
|
|
38
|
+
l1TxUtils
|
|
39
|
+
});
|
|
32
40
|
const epochCache = await EpochCache.create(config.l1Contracts.rollupAddress, config);
|
|
33
41
|
// If config.p2pEnabled is true, createProverCoordination will create a p2p client where txs are requested
|
|
34
42
|
// If config.p2pEnabled is false, createProverCoordination request information from the AztecNode
|
|
@@ -37,7 +45,7 @@ export async function createProverNode(config, deps = {}) {
|
|
|
37
45
|
worldStateSynchronizer,
|
|
38
46
|
archiver,
|
|
39
47
|
epochCache,
|
|
40
|
-
telemetry
|
|
48
|
+
telemetry
|
|
41
49
|
});
|
|
42
50
|
const proverNodeConfig = {
|
|
43
51
|
maxPendingJobs: config.proverNodeMaxPendingJobs,
|
|
@@ -45,9 +53,8 @@ export async function createProverNode(config, deps = {}) {
|
|
|
45
53
|
maxParallelBlocksPerEpoch: config.proverNodeMaxParallelBlocksPerEpoch,
|
|
46
54
|
txGatheringMaxParallelRequests: config.txGatheringMaxParallelRequests,
|
|
47
55
|
txGatheringIntervalMs: config.txGatheringIntervalMs,
|
|
48
|
-
txGatheringTimeoutMs: config.txGatheringTimeoutMs
|
|
56
|
+
txGatheringTimeoutMs: config.txGatheringTimeoutMs
|
|
49
57
|
};
|
|
50
|
-
const epochMonitor =
|
|
58
|
+
const epochMonitor = await EpochMonitor.create(archiver, proverNodeConfig, telemetry);
|
|
51
59
|
return new ProverNode(prover, publisher, archiver, archiver, archiver, worldStateSynchronizer, proverCoordination, epochMonitor, proverNodeConfig, telemetry);
|
|
52
60
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFnQyxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRyxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUUsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRXRFLGdEQUFnRDtBQUNoRCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxNQUEwQyxFQUMxQyxPQVNJLEVBQUU7SUFFTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDekQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxvQkFBb0IsQ0FBQyxNQUFN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
|
package/dest/http.d.ts
CHANGED
package/dest/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,UAAU,iEAEzD"}
|
package/dest/http.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { ProverNodeApiSchema } from '@aztec/
|
|
1
|
+
import { ProverNodeApiSchema } from '@aztec/stdlib/interfaces/server';
|
|
2
2
|
import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
|
|
3
3
|
/**
|
|
4
4
|
* Wrap a ProverNode instance with a JSON RPC HTTP server.
|
|
5
5
|
* @param node - The ProverNode
|
|
6
6
|
* @returns An JSON-RPC HTTP server
|
|
7
|
-
*/
|
|
8
|
-
export function createProverNodeRpcServer(node) {
|
|
7
|
+
*/ export function createProverNodeRpcServer(node) {
|
|
9
8
|
return createTracedJsonRpcServer(node, ProverNodeApiSchema);
|
|
10
9
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXBFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsSUFBZ0I7SUFDeEQsT0FBTyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUM5RCxDQUFDIn0=
|
package/dest/index.js
CHANGED
|
@@ -3,4 +3,3 @@ export * from './factory.js';
|
|
|
3
3
|
export * from './http.js';
|
|
4
4
|
export * from './prover-node-publisher.js';
|
|
5
5
|
export * from './prover-node.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtCQUFrQixDQUFDIn0=
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import type { PublicProcessorFactory } from '@aztec/simulator/server';
|
|
2
|
+
import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
|
|
3
|
+
import { type EpochProver, type EpochProvingJobState, type ForkMerkleTreeOperations } from '@aztec/stdlib/interfaces/server';
|
|
4
|
+
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
5
|
+
import type { Tx } from '@aztec/stdlib/tx';
|
|
3
6
|
import { type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
7
|
+
import type { ProverNodeMetrics } from '../metrics.js';
|
|
8
|
+
import type { ProverNodePublisher } from '../prover-node-publisher.js';
|
|
6
9
|
/**
|
|
7
10
|
* Job that grabs a range of blocks from the unfinalised chain from L1, gets their txs given their hashes,
|
|
8
11
|
* re-executes their public calls, generates a rollup proof, and submits it to L1. This job will update the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAe,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAI7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAW7C,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IAtBjB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,GAAG,CAAiD;IAC5D,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAGrB,UAAU,EAAE,wBAAwB,EACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,GAAG,EAAE,EAAE,EAAE,EACT,MAAM,EAAE,WAAW,EACnB,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,MAAM,GAAE;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAA+B,EACnE,OAAO,GAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAA2B;IAM7E,KAAK,IAAI,MAAM;IAIf,QAAQ,IAAI,oBAAoB;IAIhC,cAAc,IAAI,MAAM;IAI/B;;OAEG;IAIU,GAAG;IAgGhB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAML,IAAI,CAAC,KAAK,GAAE,oBAAgC;IASzD,OAAO,CAAC,oBAAoB;YAqBd,cAAc;YAOd,MAAM;IAQpB,OAAO,CAAC,iBAAiB;YAIX,UAAU;CAgBzB;AASD,OAAO,EAAE,KAAK,oBAAoB,EAAE,CAAC"}
|