@aztec/prover-node 0.69.1 → 0.71.0
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 +1 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +2 -2
- package/dest/factory.d.ts +2 -0
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +10 -8
- package/dest/job/epoch-proving-job.d.ts +8 -3
- package/dest/job/epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-proving-job.js +65 -11
- package/dest/metrics.d.ts +2 -2
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +9 -4
- package/dest/monitors/claims-monitor.d.ts +2 -2
- package/dest/monitors/claims-monitor.d.ts.map +1 -1
- package/dest/monitors/claims-monitor.js +3 -3
- package/dest/monitors/epoch-monitor.d.ts +2 -2
- package/dest/monitors/epoch-monitor.d.ts.map +1 -1
- package/dest/monitors/epoch-monitor.js +3 -3
- package/dest/prover-node.d.ts +17 -16
- package/dest/prover-node.d.ts.map +1 -1
- package/dest/prover-node.js +30 -10
- package/dest/test/index.d.ts +10 -0
- package/dest/test/index.d.ts.map +1 -0
- package/dest/test/index.js +4 -0
- package/package.json +20 -18
- package/src/config.ts +6 -6
- package/src/factory.ts +10 -8
- package/src/job/epoch-proving-job.ts +78 -13
- package/src/metrics.ts +9 -4
- package/src/monitors/claims-monitor.ts +8 -2
- package/src/monitors/epoch-monitor.ts +8 -2
- package/src/prover-node.ts +48 -18
- package/src/test/index.ts +11 -0
package/dest/config.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ArchiverConfig } from '@aztec/archiver/config';
|
|
2
2
|
import { type ACVMConfig, type BBConfig } from '@aztec/bb-prover/config';
|
|
3
|
-
import { type ProverAgentConfig, type ProverBrokerConfig } from '@aztec/circuit-types/config';
|
|
4
3
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
5
4
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
6
5
|
import { type P2PConfig } from '@aztec/p2p/config';
|
|
6
|
+
import { type ProverAgentConfig, type ProverBrokerConfig } from '@aztec/prover-client/broker';
|
|
7
7
|
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';
|
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,EAAoD,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAoD,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAA4C,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAKpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,gBAAgB,EAAwD,MAAM,2BAA2B,CAAC;AAExH,OAAO,EAAE,KAAK,uBAAuB,EAAmC,MAAM,kBAAkB,CAAC;AACjG,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAC3C,kBAAkB,GAClB,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,uBAAuB,GACvB,mBAAmB,GACnB,wBAAwB,CAAC;AAE3B,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;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,0BAA0B,EAAE,MAAM,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAqDF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAYzE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAc7D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CAIrE;AAED,wBAAgB,+BAA+B,IAAI,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAK3F"}
|
package/dest/config.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { archiverConfigMappings, getArchiverConfigFromEnv } from '@aztec/archiver/config';
|
|
2
|
-
import { proverAgentConfigMappings, proverBrokerConfigMappings, } from '@aztec/circuit-types/config';
|
|
3
2
|
import { bigintConfigHelper, getConfigFromMappings, numberConfigHelper, } from '@aztec/foundation/config';
|
|
4
3
|
import { dataConfigMappings, getDataConfigFromEnv } from '@aztec/kv-store/config';
|
|
5
4
|
import { getP2PConfigFromEnv, p2pConfigMappings } from '@aztec/p2p/config';
|
|
5
|
+
import { proverAgentConfigMappings, proverBrokerConfigMappings, } from '@aztec/prover-client/broker';
|
|
6
6
|
import { bbConfigMappings, getProverEnvVars, proverClientConfigMappings, } from '@aztec/prover-client/config';
|
|
7
7
|
import { getPublisherConfigFromEnv, getPublisherConfigMappings, getTxSenderConfigFromEnv, getTxSenderConfigMappings, } from '@aztec/sequencer-client/config';
|
|
8
8
|
import { getWorldStateConfigFromEnv, worldStateConfigMappings } from '@aztec/world-state/config';
|
|
@@ -95,4 +95,4 @@ export function getProverNodeAgentConfigFromEnv() {
|
|
|
95
95
|
...getConfigFromMappings(bbConfigMappings),
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0csT0FBTyxFQUVMLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsa0JBQWtCLEdBQ25CLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hHLE9BQU8sRUFBa0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRixPQUFPLEVBR0wseUJBQXlCLEVBQ3pCLDBCQUEwQixHQUMzQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLDBCQUEwQixHQUMzQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLHdCQUF3QixFQUN4Qix5QkFBeUIsR0FDMUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQXlCLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEgsT0FBTyxFQUFnQywrQkFBK0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pHLE9BQU8sRUFFTCwwQkFBMEIsRUFDMUIsZ0NBQWdDLEdBQ2pDLE1BQU0saUNBQWlDLENBQUM7QUE2QnpDLE1BQU0sZ0NBQWdDLEdBQWlEO0lBQ3JGLHdCQUF3QixFQUFFO1FBQ3hCLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsV0FBVyxFQUFFLHdEQUF3RDtRQUNyRSxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztLQUMxQjtJQUNELDJCQUEyQixFQUFFO1FBQzNCLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMs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
|
package/dest/factory.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Archiver } from '@aztec/archiver';
|
|
2
|
+
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
3
|
import { type ProverCoordination, type ProvingJobBroker } from '@aztec/circuit-types';
|
|
3
4
|
import { type Logger } from '@aztec/foundation/log';
|
|
4
5
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
@@ -13,6 +14,7 @@ export declare function createProverNode(config: ProverNodeConfig & DataStoreCon
|
|
|
13
14
|
aztecNodeTxProvider?: ProverCoordination;
|
|
14
15
|
archiver?: Archiver;
|
|
15
16
|
publisher?: L1Publisher;
|
|
17
|
+
blobSinkClient?: BlobSinkClientInterface;
|
|
16
18
|
broker?: ProvingJobBroker;
|
|
17
19
|
}): Promise<ProverNode>;
|
|
18
20
|
//# 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,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAItF,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,
|
|
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;AAC7F,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAItF,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAMnF,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,aAAa,CAAC;AAI9E,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAKtE,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,WAAW,CAAC;IACxB,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CACtB,uBAiEP"}
|
package/dest/factory.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createArchiver } from '@aztec/archiver';
|
|
2
|
+
import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
2
3
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
3
4
|
import { createEthereumChain } from '@aztec/ethereum';
|
|
4
5
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
@@ -7,7 +8,7 @@ import { RollupAbi } from '@aztec/l1-artifacts';
|
|
|
7
8
|
import { createProverClient } from '@aztec/prover-client';
|
|
8
9
|
import { createAndStartProvingBroker } from '@aztec/prover-client/broker';
|
|
9
10
|
import { L1Publisher } from '@aztec/sequencer-client';
|
|
10
|
-
import {
|
|
11
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
11
12
|
import { createWorldStateSynchronizer } from '@aztec/world-state';
|
|
12
13
|
import { createPublicClient, getAddress, getContract, http } from 'viem';
|
|
13
14
|
import { createBondManager } from './bond/factory.js';
|
|
@@ -20,9 +21,10 @@ import { SimpleQuoteProvider } from './quote-provider/simple.js';
|
|
|
20
21
|
import { QuoteSigner } from './quote-signer.js';
|
|
21
22
|
/** Creates a new prover node given a config. */
|
|
22
23
|
export async function createProverNode(config, deps = {}) {
|
|
23
|
-
const telemetry = deps.telemetry ??
|
|
24
|
+
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
25
|
+
const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config.blobSinkUrl);
|
|
24
26
|
const log = deps.log ?? createLogger('prover-node');
|
|
25
|
-
const archiver = deps.archiver ?? (await createArchiver(config,
|
|
27
|
+
const archiver = deps.archiver ?? (await createArchiver(config, blobSinkClient, { blockUntilSync: true }, telemetry));
|
|
26
28
|
log.verbose(`Created archiver and synced to block ${await archiver.getBlockNumber()}`);
|
|
27
29
|
const worldStateConfig = { ...config, worldStateProvenBlocksOnly: false };
|
|
28
30
|
const worldStateSynchronizer = await createWorldStateSynchronizer(worldStateConfig, archiver, telemetry);
|
|
@@ -30,7 +32,7 @@ export async function createProverNode(config, deps = {}) {
|
|
|
30
32
|
const broker = deps.broker ?? (await createAndStartProvingBroker(config, telemetry));
|
|
31
33
|
const prover = await createProverClient(config, worldStateSynchronizer, broker, telemetry);
|
|
32
34
|
// REFACTOR: Move publisher out of sequencer package and into an L1-related package
|
|
33
|
-
const publisher = deps.publisher ?? new L1Publisher(config, telemetry);
|
|
35
|
+
const publisher = deps.publisher ?? new L1Publisher(config, { telemetry, blobSinkClient });
|
|
34
36
|
const epochCache = await EpochCache.create(config.l1Contracts.rollupAddress, config);
|
|
35
37
|
// If config.p2pEnabled is true, createProverCoordination will create a p2p client where quotes will be shared and tx's requested
|
|
36
38
|
// If config.p2pEnabled is false, createProverCoordination request information from the AztecNode
|
|
@@ -51,12 +53,12 @@ export async function createProverNode(config, deps = {}) {
|
|
|
51
53
|
txGatheringIntervalMs: config.txGatheringIntervalMs,
|
|
52
54
|
txGatheringTimeoutMs: config.txGatheringTimeoutMs,
|
|
53
55
|
};
|
|
54
|
-
const claimsMonitor = new ClaimsMonitor(publisher,
|
|
55
|
-
const epochMonitor = new EpochMonitor(archiver,
|
|
56
|
+
const claimsMonitor = new ClaimsMonitor(publisher, proverNodeConfig, telemetry);
|
|
57
|
+
const epochMonitor = new EpochMonitor(archiver, proverNodeConfig, telemetry);
|
|
56
58
|
const rollupContract = publisher.getRollupContract();
|
|
57
59
|
const walletClient = publisher.getClient();
|
|
58
60
|
const bondManager = await createBondManager(rollupContract, walletClient, config);
|
|
59
|
-
return new ProverNode(prover, publisher, archiver, archiver, archiver, worldStateSynchronizer, proverCoordination, quoteProvider, quoteSigner, claimsMonitor, epochMonitor, bondManager,
|
|
61
|
+
return new ProverNode(prover, publisher, archiver, archiver, archiver, worldStateSynchronizer, proverCoordination, quoteProvider, quoteSigner, claimsMonitor, epochMonitor, bondManager, proverNodeConfig, telemetry);
|
|
60
62
|
}
|
|
61
63
|
function createQuoteProvider(config) {
|
|
62
64
|
return config.quoteProviderUrl
|
|
@@ -73,4 +75,4 @@ function createQuoteSigner(config) {
|
|
|
73
75
|
const privateKey = config.publisherPrivateKey;
|
|
74
76
|
return QuoteSigner.new(Buffer32.fromString(privateKey), rollupContract);
|
|
75
77
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFnQyxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25GLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxV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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EpochProver, type EpochProvingJobState, type ForkMerkleTreeOperations, type L1ToL2MessageSource, type L2Block, type L2BlockSource, type Tx } from '@aztec/circuit-types';
|
|
2
2
|
import { type L1Publisher } from '@aztec/sequencer-client';
|
|
3
|
-
import { type PublicProcessorFactory } from '@aztec/simulator';
|
|
3
|
+
import { type PublicProcessorFactory } from '@aztec/simulator/server';
|
|
4
4
|
import { type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
5
5
|
import { type ProverNodeMetrics } from '../metrics.js';
|
|
6
6
|
/**
|
|
@@ -19,14 +19,16 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
19
19
|
private l2BlockSource;
|
|
20
20
|
private l1ToL2MessageSource;
|
|
21
21
|
private metrics;
|
|
22
|
+
private deadline;
|
|
22
23
|
private config;
|
|
23
24
|
private cleanUp;
|
|
24
25
|
private state;
|
|
25
26
|
private log;
|
|
26
27
|
private uuid;
|
|
27
28
|
private runPromise;
|
|
29
|
+
private deadlineTimeoutHandler;
|
|
28
30
|
readonly tracer: Tracer;
|
|
29
|
-
constructor(dbProvider: ForkMerkleTreeOperations, epochNumber: bigint, blocks: L2Block[], txs: Tx[], prover: EpochProver, publicProcessorFactory: PublicProcessorFactory, publisher: L1Publisher, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, metrics: ProverNodeMetrics, config?: {
|
|
31
|
+
constructor(dbProvider: ForkMerkleTreeOperations, epochNumber: bigint, blocks: L2Block[], txs: Tx[], prover: EpochProver, publicProcessorFactory: PublicProcessorFactory, publisher: L1Publisher, l2BlockSource: L2BlockSource, l1ToL2MessageSource: L1ToL2MessageSource, metrics: ProverNodeMetrics, deadline: Date | undefined, config?: {
|
|
30
32
|
parallelBlockLimit: number;
|
|
31
33
|
}, cleanUp?: (job: EpochProvingJob) => Promise<void>);
|
|
32
34
|
getId(): string;
|
|
@@ -35,7 +37,10 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
35
37
|
* Proves the given epoch and submits the proof to L1.
|
|
36
38
|
*/
|
|
37
39
|
run(): Promise<void>;
|
|
38
|
-
|
|
40
|
+
private progressState;
|
|
41
|
+
private checkState;
|
|
42
|
+
stop(state?: EpochProvingJobState): Promise<void>;
|
|
43
|
+
private scheduleDeadlineStop;
|
|
39
44
|
private getBlockHeader;
|
|
40
45
|
private getTxs;
|
|
41
46
|
private getL1ToL2Messages;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,aAAa,EAElB,KAAK,EAAE,EACR,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAI7F,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;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,WAAW,EACtB,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;IAIvC;;OAEG;IAIU,GAAG;IA6FhB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAML,IAAI,CAAC,KAAK,GAAE,oBAAgC;IASzD,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,iBAAiB;YAIX,UAAU;CAgBzB;AASD,OAAO,EAAE,KAAK,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { EpochProvingJobTerminalState, } from '@aztec/circuit-types';
|
|
2
3
|
import { asyncPool } from '@aztec/foundation/async-pool';
|
|
3
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
5
|
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
@@ -15,7 +16,7 @@ let EpochProvingJob = (() => {
|
|
|
15
16
|
let _instanceExtraInitializers = [];
|
|
16
17
|
let _run_decorators;
|
|
17
18
|
return _a = class EpochProvingJob {
|
|
18
|
-
constructor(dbProvider, epochNumber, blocks, txs, prover, publicProcessorFactory, publisher, l2BlockSource, l1ToL2MessageSource, metrics, config = { parallelBlockLimit: 32 }, cleanUp = () => Promise.resolve()) {
|
|
19
|
+
constructor(dbProvider, epochNumber, blocks, txs, prover, publicProcessorFactory, publisher, l2BlockSource, l1ToL2MessageSource, metrics, deadline, config = { parallelBlockLimit: 32 }, cleanUp = () => Promise.resolve()) {
|
|
19
20
|
this.dbProvider = (__runInitializers(this, _instanceExtraInitializers), dbProvider);
|
|
20
21
|
this.epochNumber = epochNumber;
|
|
21
22
|
this.blocks = blocks;
|
|
@@ -26,6 +27,7 @@ let EpochProvingJob = (() => {
|
|
|
26
27
|
this.l2BlockSource = l2BlockSource;
|
|
27
28
|
this.l1ToL2MessageSource = l1ToL2MessageSource;
|
|
28
29
|
this.metrics = metrics;
|
|
30
|
+
this.deadline = deadline;
|
|
29
31
|
this.config = config;
|
|
30
32
|
this.cleanUp = cleanUp;
|
|
31
33
|
this.state = 'initialized';
|
|
@@ -43,9 +45,10 @@ let EpochProvingJob = (() => {
|
|
|
43
45
|
* Proves the given epoch and submits the proof to L1.
|
|
44
46
|
*/
|
|
45
47
|
async run() {
|
|
48
|
+
this.scheduleDeadlineStop();
|
|
46
49
|
const epochNumber = Number(this.epochNumber);
|
|
47
50
|
const epochSizeBlocks = this.blocks.length;
|
|
48
|
-
const epochSizeTxs = this.blocks.reduce((total, current) => total + current.body.
|
|
51
|
+
const epochSizeTxs = this.blocks.reduce((total, current) => total + current.body.txEffects.length, 0);
|
|
49
52
|
const [fromBlock, toBlock] = [this.blocks[0].number, this.blocks.at(-1).number];
|
|
50
53
|
this.log.info(`Starting epoch ${epochNumber} proving job with blocks ${fromBlock} to ${toBlock}`, {
|
|
51
54
|
fromBlock,
|
|
@@ -54,13 +57,15 @@ let EpochProvingJob = (() => {
|
|
|
54
57
|
epochNumber,
|
|
55
58
|
uuid: this.uuid,
|
|
56
59
|
});
|
|
57
|
-
this.
|
|
60
|
+
this.progressState('processing');
|
|
58
61
|
const timer = new Timer();
|
|
59
62
|
const { promise, resolve } = promiseWithResolvers();
|
|
60
63
|
this.runPromise = promise;
|
|
61
64
|
try {
|
|
62
65
|
this.prover.startNewEpoch(epochNumber, fromBlock, epochSizeBlocks);
|
|
66
|
+
this.prover.startTubeCircuits(this.txs);
|
|
63
67
|
await asyncPool(this.config.parallelBlockLimit, this.blocks, async (block) => {
|
|
68
|
+
this.checkState();
|
|
64
69
|
const globalVariables = block.header.globalVariables;
|
|
65
70
|
const txs = this.getTxs(block);
|
|
66
71
|
const l1ToL2Messages = await this.getL1ToL2Messages(block);
|
|
@@ -92,30 +97,69 @@ let EpochProvingJob = (() => {
|
|
|
92
97
|
// Mark block as completed to pad it
|
|
93
98
|
await this.prover.setBlockCompleted(block.number, block.header);
|
|
94
99
|
});
|
|
95
|
-
|
|
100
|
+
const executionTime = timer.ms();
|
|
101
|
+
this.progressState('awaiting-prover');
|
|
96
102
|
const { publicInputs, proof } = await this.prover.finaliseEpoch();
|
|
97
103
|
this.log.info(`Finalised proof for epoch ${epochNumber}`, { epochNumber, uuid: this.uuid, duration: timer.ms() });
|
|
98
|
-
this.
|
|
99
|
-
await this.publisher.submitEpochProof({ fromBlock, toBlock, epochNumber, publicInputs, proof });
|
|
104
|
+
this.progressState('publishing-proof');
|
|
105
|
+
const success = await this.publisher.submitEpochProof({ fromBlock, toBlock, epochNumber, publicInputs, proof });
|
|
106
|
+
if (!success) {
|
|
107
|
+
throw new Error('Failed to submit epoch proof to L1');
|
|
108
|
+
}
|
|
100
109
|
this.log.info(`Submitted proof for epoch`, { epochNumber, uuid: this.uuid });
|
|
101
110
|
this.state = 'completed';
|
|
102
|
-
this.metrics.recordProvingJob(timer, epochSizeBlocks, epochSizeTxs);
|
|
111
|
+
this.metrics.recordProvingJob(executionTime, timer.ms(), epochSizeBlocks, epochSizeTxs);
|
|
103
112
|
}
|
|
104
113
|
catch (err) {
|
|
114
|
+
if (err && err.name === 'HaltExecutionError') {
|
|
115
|
+
this.log.warn(`Halted execution of epoch ${epochNumber} prover job`, { uuid: this.uuid, epochNumber });
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
105
118
|
this.log.error(`Error running epoch ${epochNumber} prover job`, err, { uuid: this.uuid, epochNumber });
|
|
106
119
|
this.state = 'failed';
|
|
107
120
|
}
|
|
108
121
|
finally {
|
|
122
|
+
clearTimeout(this.deadlineTimeoutHandler);
|
|
109
123
|
await this.cleanUp(this);
|
|
124
|
+
await this.prover.stop();
|
|
110
125
|
resolve();
|
|
111
126
|
}
|
|
112
127
|
}
|
|
113
|
-
|
|
128
|
+
progressState(state) {
|
|
129
|
+
this.checkState();
|
|
130
|
+
this.state = state;
|
|
131
|
+
}
|
|
132
|
+
checkState() {
|
|
133
|
+
if (this.state === 'timed-out' || this.state === 'stopped' || this.state === 'failed') {
|
|
134
|
+
throw new HaltExecutionError(this.state);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async stop(state = 'stopped') {
|
|
138
|
+
this.state = state;
|
|
114
139
|
this.prover.cancel();
|
|
140
|
+
// TODO(palla/prover): Stop the publisher as well
|
|
115
141
|
if (this.runPromise) {
|
|
116
142
|
await this.runPromise;
|
|
117
143
|
}
|
|
118
144
|
}
|
|
145
|
+
scheduleDeadlineStop() {
|
|
146
|
+
const deadline = this.deadline;
|
|
147
|
+
if (deadline) {
|
|
148
|
+
const timeout = deadline.getTime() - Date.now();
|
|
149
|
+
if (timeout <= 0) {
|
|
150
|
+
throw new Error('Cannot start job with deadline in the past');
|
|
151
|
+
}
|
|
152
|
+
this.deadlineTimeoutHandler = setTimeout(() => {
|
|
153
|
+
if (EpochProvingJobTerminalState.includes(this.state)) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
this.log.warn('Stopping job due to deadline hit', { uuid: this.uuid, epochNumber: this.epochNumber });
|
|
157
|
+
this.stop('timed-out').catch(err => {
|
|
158
|
+
this.log.error('Error stopping job', err, { uuid: this.uuid, epochNumber: this.epochNumber });
|
|
159
|
+
});
|
|
160
|
+
}, timeout);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
119
163
|
/* Returns the header for the given block number, or undefined for block zero. */
|
|
120
164
|
getBlockHeader(blockNumber) {
|
|
121
165
|
if (blockNumber === 0) {
|
|
@@ -131,9 +175,13 @@ let EpochProvingJob = (() => {
|
|
|
131
175
|
return this.l1ToL2MessageSource.getL1ToL2Messages(BigInt(block.number));
|
|
132
176
|
}
|
|
133
177
|
async processTxs(publicProcessor, txs) {
|
|
134
|
-
const
|
|
178
|
+
const { deadline } = this;
|
|
179
|
+
const [processedTxs, failedTxs] = await publicProcessor.process(txs, { deadline });
|
|
135
180
|
if (failedTxs.length) {
|
|
136
|
-
throw new Error(`
|
|
181
|
+
throw new Error(`Txs failed processing: ${failedTxs.map(({ tx, error }) => `${tx.getTxHash()} (${error})`).join(', ')}`);
|
|
182
|
+
}
|
|
183
|
+
if (processedTxs.length !== txs.length) {
|
|
184
|
+
throw new Error(`Failed to process all txs: processed ${processedTxs.length} out of ${txs.length}`);
|
|
137
185
|
}
|
|
138
186
|
return processedTxs;
|
|
139
187
|
}
|
|
@@ -149,4 +197,10 @@ let EpochProvingJob = (() => {
|
|
|
149
197
|
_a;
|
|
150
198
|
})();
|
|
151
199
|
export { EpochProvingJob };
|
|
152
|
-
|
|
200
|
+
class HaltExecutionError extends Error {
|
|
201
|
+
constructor(state) {
|
|
202
|
+
super(`Halted execution due to state ${state}`);
|
|
203
|
+
this.name = 'HaltExecutionError';
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvam9iL2Vwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBR0wsNEJBQTRCLEdBTzdCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHaEQsT0FBTyxFQUFFLFVBQVUsRUFBK0IsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0YsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFJdEM7Ozs7R0FJRztJQUNVLGVBQWU7Ozs7c0JBQWYsZUFBZTtZQVUxQixZQUNVLFVBQW9DLEVBQ3BDLFdBQW1CLEVBQ25CLE1BQWlCLEVBQ2pCLEdBQVMsRUFDVCxNQUFtQixFQUNuQixzQkFBOEMsRUFDOUMsU0FBc0IsRUFDdEIsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQ3hDLE9BQTBCLEVBQzFCLFFBQTBCLEVBQzFCLFNBQXlDLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFLEVBQ25FLFVBQW1ELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBWjFFLGVBQVUsSUFYVCxtREFBZSxFQVdoQixVQUFVLEVBQTBCO2dCQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtnQkFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBVztnQkFDakIsUUFBRyxHQUFILEdBQUcsQ0FBTTtnQkFDVCxXQUFNLEdBQU4sTUFBTSxDQUFhO2dCQUNuQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO2dCQUM5QyxjQUFTLEdBQVQsU0FBUyxDQUFhO2dCQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtnQkFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtnQkFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7Z0JBQzFCLGFBQVEsR0FBUixRQUFRLENBQWtCO2dCQUMxQixXQUFNLEdBQU4sTUFBTSxDQUE2RDtnQkFDbkUsWUFBTyxHQUFQLE9BQU8sQ0FBbUU7Z0JBdEI1RSxVQUFLLEdBQXlCLGFBQWEsQ0FBQztnQkFDNUMsUUFBRyxHQUFHLFlBQVksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQXVCMUQsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM1RCxDQUFDO1lBRU0sS0FBSztnQkFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkIsQ0FBQztZQUVNLFFBQVE7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLENBQUM7WUFFRDs7ZUFFRztZQUlJLEtBQUssQ0FBQyxHQUFHO2dCQUNkLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUU1QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN0RyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDakYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLFdBQVcsNEJBQTRCLFNBQVMsT0FBTyxPQUFPLEVBQUUsRUFBRTtvQkFDaEcsU0FBUztvQkFDVCxPQUFPO29CQUNQLGVBQWU7b0JBQ2YsV0FBVztvQkFDWCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7aUJBQ2hCLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUMxQixNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLG9CQUFvQixFQUFRLENBQUM7Z0JBQzFELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO2dCQUUxQixJQUFJLENBQUM7b0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBRXhDLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMsS0FBSyxFQUFDLEVBQUU7d0JBQ3pFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFFbEIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7d0JBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQy9CLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMzRCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFFbkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTs0QkFDNUQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNOzRCQUNwQixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTs0QkFDbEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUk7NEJBQzFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSTs0QkFDOUQsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJOzRCQUNoRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUk7NEJBQ2xFLGNBQWMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFOzRCQUN0QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7NEJBQ2YsR0FBRyxlQUFlO3lCQUNuQixDQUFDLENBQUM7d0JBRUgsc0JBQXNCO3dCQUN0QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFFakUscUJBQXFCO3dCQUNyQixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7d0JBQ3RHLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7d0JBQzlELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ3BDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLE1BQU0sa0JBQWtCLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTs0QkFDNUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNOzRCQUN6QixTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTs0QkFDbEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3lCQUNoQixDQUFDLENBQUM7d0JBRUgsb0NBQW9DO3dCQUNwQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2xFLENBQUMsQ0FBQyxDQUFDO29CQUVILE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFFakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUN0QyxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFdBQVcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUVsSCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUNoSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO29CQUN4RCxDQUFDO29CQUVELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDN0UsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzFGLENBQUM7Z0JBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxvQkFBb0IsRUFBRSxDQUFDO3dCQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsV0FBVyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO3dCQUN2RyxPQUFPO29CQUNULENBQUM7b0JBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLFdBQVcsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7b0JBQ3ZHLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO2dCQUN4QixDQUFDO3dCQUFTLENBQUM7b0JBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO29CQUMxQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDekIsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQztZQUNILENBQUM7WUFFTyxhQUFhLENBQUMsS0FBMkI7Z0JBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDckIsQ0FBQztZQUVPLFVBQVU7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDdEYsTUFBTSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztZQUNILENBQUM7WUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQThCLFNBQVM7Z0JBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNyQixpREFBaUQ7Z0JBQ2pELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO1lBRU8sb0JBQW9CO2dCQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ2hELElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7b0JBQ2hFLENBQUM7b0JBRUQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7d0JBQzVDLElBQUksNEJBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDOzRCQUN0RCxPQUFPO3dCQUNULENBQUM7d0JBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7d0JBQ3RHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7d0JBQ2hHLENBQUMsQ0FBQyxDQUFDO29CQUNMLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDZCxDQUFDO1lBQ0gsQ0FBQztZQUVELGlGQUFpRjtZQUN6RSxjQUFjLENBQUMsV0FBbUI7Z0JBQ3hDLElBQUksV0FBVyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN0QixPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFFTyxNQUFNLENBQUMsS0FBYztnQkFDM0IsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFFTyxpQkFBaUIsQ0FBQyxLQUFjO2dCQUN0QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUVPLEtBQUssQ0FBQyxVQUFVLENBQUMsZUFBZ0MsRUFBRSxHQUFTO2dCQUNsRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixNQUFNLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHLE1BQU0sZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUVuRixJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYiwwQkFBMEIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN4RyxDQUFDO2dCQUNKLENBQUM7Z0JBRUQsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsWUFBWSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDdEcsQ0FBQztnQkFFRCxPQUFPLFlBQVksQ0FBQztZQUN0QixDQUFDOzs7OytCQXhLQSxTQUFTLENBQUMscUJBQXFCLEVBQUU7b0JBQ2hDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pFLENBQUMsQ0FBQztZQUNGLDBKQUFhLEdBQUcsNkRBMkZmOzs7OztTQXRJVSxlQUFlO0FBbU41QixNQUFNLGtCQUFtQixTQUFRLEtBQUs7SUFDcEMsWUFBWSxLQUEyQjtRQUNyQyxLQUFLLENBQUMsaUNBQWlDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0NBQ0YifQ==
|
package/dest/metrics.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { type Timer } from '@aztec/foundation/timer';
|
|
2
1
|
import { type Histogram, type TelemetryClient } from '@aztec/telemetry-client';
|
|
3
2
|
export declare class ProverNodeMetrics {
|
|
4
3
|
readonly client: TelemetryClient;
|
|
4
|
+
proverEpochExecutionDuration: Histogram;
|
|
5
5
|
provingJobDuration: Histogram;
|
|
6
6
|
provingJobBlocks: Histogram;
|
|
7
7
|
provingJobTransactions: Histogram;
|
|
8
8
|
constructor(client: TelemetryClient, name?: string);
|
|
9
|
-
recordProvingJob(
|
|
9
|
+
recordProvingJob(executionTimeMs: number, totalTimeMs: number, numBlocks: number, numTxs: number): void;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=metrics.d.ts.map
|
package/dest/metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAW,KAAK,eAAe,EAAa,MAAM,yBAAyB,CAAC;AAEnG,qBAAa,iBAAiB;aAMA,MAAM,EAAE,eAAe;IALnD,4BAA4B,EAAE,SAAS,CAAC;IACxC,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,SAAS,CAAC;IAC5B,sBAAsB,EAAE,SAAS,CAAC;gBAEN,MAAM,EAAE,eAAe,EAAE,IAAI,SAAe;IAsBjE,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMxG"}
|
package/dest/metrics.js
CHANGED
|
@@ -3,6 +3,11 @@ export class ProverNodeMetrics {
|
|
|
3
3
|
constructor(client, name = 'ProverNode') {
|
|
4
4
|
this.client = client;
|
|
5
5
|
const meter = client.getMeter(name);
|
|
6
|
+
this.proverEpochExecutionDuration = meter.createHistogram(Metrics.PROVER_NODE_EXECUTION_DURATION, {
|
|
7
|
+
description: 'Duration of execution of an epoch by the prover',
|
|
8
|
+
unit: 'ms',
|
|
9
|
+
valueType: ValueType.INT,
|
|
10
|
+
});
|
|
6
11
|
this.provingJobDuration = meter.createHistogram(Metrics.PROVER_NODE_JOB_DURATION, {
|
|
7
12
|
description: 'Duration of proving job',
|
|
8
13
|
unit: 'ms',
|
|
@@ -17,11 +22,11 @@ export class ProverNodeMetrics {
|
|
|
17
22
|
valueType: ValueType.INT,
|
|
18
23
|
});
|
|
19
24
|
}
|
|
20
|
-
recordProvingJob(
|
|
21
|
-
|
|
22
|
-
this.provingJobDuration.record(
|
|
25
|
+
recordProvingJob(executionTimeMs, totalTimeMs, numBlocks, numTxs) {
|
|
26
|
+
this.proverEpochExecutionDuration.record(Math.ceil(executionTimeMs));
|
|
27
|
+
this.provingJobDuration.record(Math.ceil(totalTimeMs));
|
|
23
28
|
this.provingJobBlocks.record(Math.floor(numBlocks));
|
|
24
29
|
this.provingJobTransactions.record(Math.floor(numTxs));
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsT0FBTyxFQUF3QixTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRyxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQTRCLE1BQXVCLEVBQUUsSUFBSSxHQUFHLFlBQVk7UUFBNUMsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDakQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUU7WUFDaEcsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7WUFDaEYsV0FBVyxFQUFFLHlCQUF5QjtZQUN0QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7WUFDNUUsV0FBVyxFQUFFLG9DQUFvQztZQUNqRCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFO1lBQ3hGLFdBQVcsRUFBRSwwQ0FBMEM7WUFDdkQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxlQUF1QixFQUFFLFdBQW1CLEVBQUUsU0FBaUIsRUFBRSxNQUFjO1FBQ3JHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiJ9
|
|
@@ -13,9 +13,9 @@ export declare class ClaimsMonitor implements Traceable {
|
|
|
13
13
|
private handler;
|
|
14
14
|
private lastClaimEpochNumber;
|
|
15
15
|
readonly tracer: Tracer;
|
|
16
|
-
constructor(l1Publisher: L1Publisher,
|
|
16
|
+
constructor(l1Publisher: L1Publisher, options: {
|
|
17
17
|
pollingIntervalMs: number;
|
|
18
|
-
});
|
|
18
|
+
}, telemetry?: TelemetryClient);
|
|
19
19
|
start(handler: ClaimsMonitorHandler): void;
|
|
20
20
|
stop(): Promise<void>;
|
|
21
21
|
work(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/claims-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"claims-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/claims-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,qBAAa,aAAc,YAAW,SAAS;IAU3C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAA8C;IAEzD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,oBAAoB,CAAqB;IAEjD,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAGZ,WAAW,EAAE,WAAW,EACjC,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,EAC9C,SAAS,GAAE,eAAsC;IAM5C,KAAK,CAAC,OAAO,EAAE,oBAAoB;IAM7B,IAAI;IAOJ,IAAI;IAgBjB,SAAS,CAAC,gBAAgB,IAAI,UAAU;CAGzC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
-
import { trackSpan } from '@aztec/telemetry-client';
|
|
4
|
+
import { getTelemetryClient, trackSpan, } from '@aztec/telemetry-client';
|
|
5
5
|
let ClaimsMonitor = (() => {
|
|
6
6
|
var _a;
|
|
7
7
|
let _instanceExtraInitializers = [];
|
|
8
8
|
let _work_decorators;
|
|
9
9
|
return _a = class ClaimsMonitor {
|
|
10
|
-
constructor(l1Publisher,
|
|
10
|
+
constructor(l1Publisher, options, telemetry = getTelemetryClient()) {
|
|
11
11
|
this.l1Publisher = (__runInitializers(this, _instanceExtraInitializers), l1Publisher);
|
|
12
12
|
this.options = options;
|
|
13
13
|
this.log = createLogger('prover-node:claims-monitor');
|
|
@@ -51,4 +51,4 @@ let ClaimsMonitor = (() => {
|
|
|
51
51
|
_a;
|
|
52
52
|
})();
|
|
53
53
|
export { ClaimsMonitor };
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhaW1zLW1vbml0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9uaXRvcnMvY2xhaW1zLW1vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkUsT0FBTyxFQUlMLGtCQUFrQixFQUNsQixTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztJQU1wQixhQUFhOzs7O3NCQUFiLGFBQWE7WUFTeEIsWUFDbUIsV0FBd0IsRUFDakMsT0FBc0MsRUFDOUMsWUFBNkIsa0JBQWtCLEVBQUU7Z0JBRmhDLGdCQUFXLElBVm5CLG1EQUFhLEVBVUwsV0FBVyxFQUFhO2dCQUNqQyxZQUFPLEdBQVAsT0FBTyxDQUErQjtnQkFUeEMsUUFBRyxHQUFHLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQVl2RCxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0csQ0FBQztZQUVNLEtBQUssQ0FBQyxPQUE2QjtnQkFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDZDQUE2QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqSCxDQUFDO1lBRU0sS0FBSyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7WUFHTSxLQUFLLENBQUMsSUFBSTtnQkFDZixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzFELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztvQkFDdkMsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUNuRyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsVUFBVSxDQUFDLFlBQVksT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbEgsSUFBSSxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQzVELE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzlDLENBQUM7b0JBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3RELENBQUM7WUFDSCxDQUFDO1lBRVMsZ0JBQWdCO2dCQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QyxDQUFDOzs7O2dDQW5CQSxTQUFTLENBQUMsb0JBQW9CLENBQUM7WUFDaEMsNkpBQWEsSUFBSSw2REFjaEI7Ozs7O1NBN0NVLGFBQWEifQ==
|
|
@@ -12,9 +12,9 @@ export declare class EpochMonitor implements Traceable {
|
|
|
12
12
|
readonly tracer: Tracer;
|
|
13
13
|
private handler;
|
|
14
14
|
private latestEpochNumber;
|
|
15
|
-
constructor(l2BlockSource: L2BlockSource,
|
|
15
|
+
constructor(l2BlockSource: L2BlockSource, options: {
|
|
16
16
|
pollingIntervalMs: number;
|
|
17
|
-
});
|
|
17
|
+
}, telemetry?: TelemetryClient);
|
|
18
18
|
start(handler: EpochMonitorHandler): void;
|
|
19
19
|
stop(): Promise<void>;
|
|
20
20
|
work(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,
|
|
1
|
+
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,qBAAa,YAAa,YAAW,SAAS;IAU1C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAA6C;IACxD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,OAAO,CAAkC;IAEjD,OAAO,CAAC,iBAAiB,CAAqB;gBAG3B,aAAa,EAAE,aAAa,EACrC,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,EAC9C,SAAS,GAAE,eAAsC;IAM5C,KAAK,CAAC,OAAO,EAAE,mBAAmB;IAM5B,IAAI;IAMJ,IAAI;CAelB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
-
import { trackSpan } from '@aztec/telemetry-client';
|
|
4
|
+
import { getTelemetryClient, trackSpan, } from '@aztec/telemetry-client';
|
|
5
5
|
let EpochMonitor = (() => {
|
|
6
6
|
var _a;
|
|
7
7
|
let _instanceExtraInitializers = [];
|
|
8
8
|
let _work_decorators;
|
|
9
9
|
return _a = class EpochMonitor {
|
|
10
|
-
constructor(l2BlockSource,
|
|
10
|
+
constructor(l2BlockSource, options, telemetry = getTelemetryClient()) {
|
|
11
11
|
this.l2BlockSource = (__runInitializers(this, _instanceExtraInitializers), l2BlockSource);
|
|
12
12
|
this.options = options;
|
|
13
13
|
this.log = createLogger('prover-node:epoch-monitor');
|
|
@@ -47,4 +47,4 @@ let EpochMonitor = (() => {
|
|
|
47
47
|
_a;
|
|
48
48
|
})();
|
|
49
49
|
export { EpochMonitor };
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25pdG9ycy9lcG9jaC1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFJTCxrQkFBa0IsRUFDbEIsU0FBUyxHQUNWLE1BQU0seUJBQXlCLENBQUM7SUFPcEIsWUFBWTs7OztzQkFBWixZQUFZO1lBU3ZCLFlBQ21CLGFBQTRCLEVBQ3JDLE9BQXNDLEVBQzlDLFlBQTZCLGtCQUFrQixFQUFFO2dCQUZoQyxrQkFBYSxJQVZyQixtREFBWSxFQVVKLGFBQWEsRUFBZTtnQkFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7Z0JBVHhDLFFBQUcsR0FBRyxZQUFZLENBQUMsMkJBQTJCLENBQUMsQ0FBQztnQkFZdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzNHLENBQUM7WUFFTSxLQUFLLENBQUMsT0FBNEI7Z0JBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUVNLEtBQUssQ0FBQyxJQUFJO2dCQUNmLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBR00sS0FBSyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUM1QixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDaEUsSUFBSSxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7d0JBQ3JCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQy9ELENBQUM7b0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztvQkFDckMsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO29CQUNyRSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7b0JBQ2pFLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7Z0JBQy9CLENBQUM7WUFDSCxDQUFDOzs7O2dDQWZBLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMvQiw2SkFBYSxJQUFJLDZEQWNoQjs7Ozs7U0E1Q1UsWUFBWSJ9
|