@aztec/prover-node 0.76.4 → 0.77.0-testnet-ignition.21
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/metrics.js
CHANGED
|
@@ -1,70 +1,92 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
2
3
|
import { formatEther } from 'viem';
|
|
3
4
|
export class ProverNodeMetrics {
|
|
4
|
-
|
|
5
|
+
client;
|
|
6
|
+
logger;
|
|
7
|
+
proverEpochExecutionDuration;
|
|
8
|
+
provingJobDuration;
|
|
9
|
+
provingJobBlocks;
|
|
10
|
+
provingJobTransactions;
|
|
11
|
+
gasPrice;
|
|
12
|
+
txCount;
|
|
13
|
+
txDuration;
|
|
14
|
+
txGas;
|
|
15
|
+
txCalldataSize;
|
|
16
|
+
txCalldataGas;
|
|
17
|
+
txBlobDataGasUsed;
|
|
18
|
+
txBlobDataGasCost;
|
|
19
|
+
senderBalance;
|
|
20
|
+
constructor(client, name = 'ProverNode', logger = createLogger('prover-node:publisher:metrics')){
|
|
5
21
|
this.client = client;
|
|
22
|
+
this.logger = logger;
|
|
6
23
|
const meter = client.getMeter(name);
|
|
7
24
|
this.proverEpochExecutionDuration = meter.createHistogram(Metrics.PROVER_NODE_EXECUTION_DURATION, {
|
|
8
25
|
description: 'Duration of execution of an epoch by the prover',
|
|
9
26
|
unit: 'ms',
|
|
10
|
-
valueType: ValueType.INT
|
|
27
|
+
valueType: ValueType.INT
|
|
11
28
|
});
|
|
12
29
|
this.provingJobDuration = meter.createHistogram(Metrics.PROVER_NODE_JOB_DURATION, {
|
|
13
30
|
description: 'Duration of proving job',
|
|
14
|
-
unit: '
|
|
15
|
-
valueType: ValueType.
|
|
31
|
+
unit: 's',
|
|
32
|
+
valueType: ValueType.DOUBLE
|
|
16
33
|
});
|
|
17
34
|
this.provingJobBlocks = meter.createHistogram(Metrics.PROVER_NODE_JOB_BLOCKS, {
|
|
18
35
|
description: 'Number of blocks in a proven epoch',
|
|
19
|
-
valueType: ValueType.INT
|
|
36
|
+
valueType: ValueType.INT
|
|
20
37
|
});
|
|
21
38
|
this.provingJobTransactions = meter.createHistogram(Metrics.PROVER_NODE_JOB_TRANSACTIONS, {
|
|
22
39
|
description: 'Number of transactions in a proven epoch',
|
|
23
|
-
valueType: ValueType.INT
|
|
40
|
+
valueType: ValueType.INT
|
|
24
41
|
});
|
|
25
42
|
this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE, {
|
|
26
43
|
description: 'The gas price used for transactions',
|
|
27
44
|
unit: 'gwei',
|
|
28
|
-
valueType: ValueType.DOUBLE
|
|
45
|
+
valueType: ValueType.DOUBLE
|
|
29
46
|
});
|
|
30
47
|
this.txCount = meter.createUpDownCounter(Metrics.L1_PUBLISHER_TX_COUNT, {
|
|
31
|
-
description: 'The number of transactions processed'
|
|
48
|
+
description: 'The number of transactions processed'
|
|
32
49
|
});
|
|
33
50
|
this.txDuration = meter.createHistogram(Metrics.L1_PUBLISHER_TX_DURATION, {
|
|
34
51
|
description: 'The duration of transaction processing',
|
|
35
52
|
unit: 'ms',
|
|
36
|
-
valueType: ValueType.INT
|
|
53
|
+
valueType: ValueType.INT
|
|
37
54
|
});
|
|
38
55
|
this.txGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_GAS, {
|
|
39
56
|
description: 'The gas consumed by transactions',
|
|
40
57
|
unit: 'gas',
|
|
41
|
-
valueType: ValueType.INT
|
|
58
|
+
valueType: ValueType.INT
|
|
42
59
|
});
|
|
43
60
|
this.txCalldataSize = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_SIZE, {
|
|
44
61
|
description: 'The size of the calldata in transactions',
|
|
45
62
|
unit: 'By',
|
|
46
|
-
valueType: ValueType.INT
|
|
63
|
+
valueType: ValueType.INT
|
|
47
64
|
});
|
|
48
65
|
this.txCalldataGas = meter.createHistogram(Metrics.L1_PUBLISHER_TX_CALLDATA_GAS, {
|
|
49
66
|
description: 'The gas consumed by the calldata in transactions',
|
|
50
67
|
unit: 'gas',
|
|
51
|
-
valueType: ValueType.INT
|
|
68
|
+
valueType: ValueType.INT
|
|
52
69
|
});
|
|
53
70
|
this.txBlobDataGasUsed = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_USED, {
|
|
54
71
|
description: 'The amount of blob gas used in transactions',
|
|
55
72
|
unit: 'gas',
|
|
56
|
-
valueType: ValueType.INT
|
|
73
|
+
valueType: ValueType.INT
|
|
57
74
|
});
|
|
58
75
|
this.txBlobDataGasCost = meter.createHistogram(Metrics.L1_PUBLISHER_TX_BLOBDATA_GAS_COST, {
|
|
59
76
|
description: 'The gas cost of blobs in transactions',
|
|
60
77
|
unit: 'gwei',
|
|
61
|
-
valueType: ValueType.INT
|
|
78
|
+
valueType: ValueType.INT
|
|
79
|
+
});
|
|
80
|
+
this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE, {
|
|
81
|
+
unit: 'eth',
|
|
82
|
+
description: 'The balance of the sender address',
|
|
83
|
+
valueType: ValueType.DOUBLE
|
|
62
84
|
});
|
|
63
85
|
}
|
|
64
86
|
recordFailedTx() {
|
|
65
87
|
this.txCount.add(1, {
|
|
66
88
|
[Attributes.L1_TX_TYPE]: 'submitProof',
|
|
67
|
-
[Attributes.OK]: false
|
|
89
|
+
[Attributes.OK]: false
|
|
68
90
|
});
|
|
69
91
|
}
|
|
70
92
|
recordSubmitProof(durationMs, stats) {
|
|
@@ -72,22 +94,27 @@ export class ProverNodeMetrics {
|
|
|
72
94
|
}
|
|
73
95
|
recordProvingJob(executionTimeMs, totalTimeMs, numBlocks, numTxs) {
|
|
74
96
|
this.proverEpochExecutionDuration.record(Math.ceil(executionTimeMs));
|
|
75
|
-
this.provingJobDuration.record(
|
|
97
|
+
this.provingJobDuration.record(totalTimeMs / 1000);
|
|
76
98
|
this.provingJobBlocks.record(Math.floor(numBlocks));
|
|
77
99
|
this.provingJobTransactions.record(Math.floor(numTxs));
|
|
78
100
|
}
|
|
101
|
+
recordSenderBalance(wei, senderAddress) {
|
|
102
|
+
const eth = parseFloat(formatEther(wei, 'wei'));
|
|
103
|
+
this.senderBalance.record(eth, {
|
|
104
|
+
[Attributes.SENDER_ADDRESS]: senderAddress
|
|
105
|
+
});
|
|
106
|
+
}
|
|
79
107
|
recordTx(durationMs, stats) {
|
|
80
108
|
const attributes = {
|
|
81
109
|
[Attributes.L1_TX_TYPE]: 'submitProof',
|
|
82
|
-
[Attributes.L1_SENDER]: stats.sender
|
|
110
|
+
[Attributes.L1_SENDER]: stats.sender
|
|
83
111
|
};
|
|
84
112
|
this.txCount.add(1, {
|
|
85
113
|
...attributes,
|
|
86
|
-
[Attributes.OK]: true
|
|
114
|
+
[Attributes.OK]: true
|
|
87
115
|
});
|
|
88
116
|
this.txDuration.record(Math.ceil(durationMs), attributes);
|
|
89
|
-
this.txGas.record(
|
|
90
|
-
// safe to downcast - total block limit is 30M gas which fits in a JS number
|
|
117
|
+
this.txGas.record(// safe to downcast - total block limit is 30M gas which fits in a JS number
|
|
91
118
|
Number(stats.gasUsed), attributes);
|
|
92
119
|
this.txCalldataGas.record(stats.calldataGas, attributes);
|
|
93
120
|
this.txCalldataSize.record(stats.calldataSize, attributes);
|
|
@@ -95,10 +122,8 @@ export class ProverNodeMetrics {
|
|
|
95
122
|
this.txBlobDataGasUsed.record(Number(stats.blobGasUsed), attributes);
|
|
96
123
|
try {
|
|
97
124
|
this.gasPrice.record(parseInt(formatEther(stats.gasPrice, 'gwei'), 10));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// ignore
|
|
125
|
+
} catch (e) {
|
|
126
|
+
// ignore
|
|
101
127
|
}
|
|
102
128
|
}
|
|
103
129
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxVQUFVLEVBRVYsT0FBTyxFQUdQLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkMsTUFBTSxPQUFPLGlCQUFpQjtJQWU1QixZQUE0QixNQUF1QixFQUFFLElBQUksR0FBRyxZQUFZO1FBQTVDLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQ2pELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFO1lBQ2hHLFdBQVcsRUFBRSxpREFBaUQ7WUFDOUQsSUFBSSxFQUFFLElBQUk7WUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFO1lBQ2hGLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsSUFBSSxFQUFFLElBQUk7WUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQzVFLFdBQVcsRUFBRSxvQ0FBb0M7WUFDakQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRTtZQUN4RixXQUFXLEVBQUUsMENBQTBD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
|
|
@@ -1,21 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
2
|
+
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
2
3
|
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
3
4
|
export interface EpochMonitorHandler {
|
|
4
|
-
|
|
5
|
+
handleEpochReadyToProve(epochNumber: bigint): Promise<void>;
|
|
5
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Fires an event when a new epoch ready to prove is detected.
|
|
9
|
+
*
|
|
10
|
+
* We define an epoch as ready to prove when:
|
|
11
|
+
* - The epoch is complete
|
|
12
|
+
* - Its blocks have not been reorg'd out due to a missing L2 proof
|
|
13
|
+
* - Its first block is the immediate successor of the last proven block
|
|
14
|
+
*
|
|
15
|
+
* This class periodically hits the L2BlockSource.
|
|
16
|
+
* On start it will trigger the event for the last epoch ready to prove.
|
|
17
|
+
*/
|
|
6
18
|
export declare class EpochMonitor implements Traceable {
|
|
7
19
|
private readonly l2BlockSource;
|
|
20
|
+
private readonly l1Constants;
|
|
8
21
|
private options;
|
|
9
22
|
private runningPromise;
|
|
10
23
|
private log;
|
|
11
24
|
readonly tracer: Tracer;
|
|
12
25
|
private handler;
|
|
13
26
|
private latestEpochNumber;
|
|
14
|
-
constructor(l2BlockSource: L2BlockSource, options: {
|
|
27
|
+
constructor(l2BlockSource: L2BlockSource, l1Constants: Pick<L1RollupConstants, 'epochDuration'>, options: {
|
|
15
28
|
pollingIntervalMs: number;
|
|
16
29
|
}, telemetry?: TelemetryClient);
|
|
30
|
+
static create(l2BlockSource: L2BlockSource, options: {
|
|
31
|
+
pollingIntervalMs: number;
|
|
32
|
+
}, telemetry?: TelemetryClient): Promise<EpochMonitor>;
|
|
17
33
|
start(handler: EpochMonitorHandler): void;
|
|
34
|
+
/** Exposed for testing */
|
|
35
|
+
setHandler(handler: EpochMonitorHandler): void;
|
|
18
36
|
stop(): Promise<void>;
|
|
19
37
|
work(): Promise<void>;
|
|
38
|
+
private getEpochNumberToProve;
|
|
20
39
|
}
|
|
21
40
|
//# sourceMappingURL=epoch-monitor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,YAAW,SAAS;IAS1C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,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;IACjD,OAAO,CAAC,iBAAiB,CAAqB;gBAG3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAC9D,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,EAC9C,SAAS,GAAE,eAAsC;WAM/B,MAAM,CACxB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,EACtC,SAAS,GAAE,eAAsC,GAChD,OAAO,CAAC,YAAY,CAAC;IAKjB,KAAK,CAAC,OAAO,EAAE,mBAAmB;IAMzC,0BAA0B;IACnB,UAAU,CAAC,OAAO,EAAE,mBAAmB;IAIjC,IAAI;IAMJ,IAAI;YAsBH,qBAAqB;CAYpC"}
|
|
@@ -1,50 +1,104 @@
|
|
|
1
|
-
|
|
1
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
}
|
|
2
7
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
8
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
9
|
+
import { getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
|
|
10
|
+
import { getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
|
|
11
|
+
/**
|
|
12
|
+
* Fires an event when a new epoch ready to prove is detected.
|
|
13
|
+
*
|
|
14
|
+
* We define an epoch as ready to prove when:
|
|
15
|
+
* - The epoch is complete
|
|
16
|
+
* - Its blocks have not been reorg'd out due to a missing L2 proof
|
|
17
|
+
* - Its first block is the immediate successor of the last proven block
|
|
18
|
+
*
|
|
19
|
+
* This class periodically hits the L2BlockSource.
|
|
20
|
+
* On start it will trigger the event for the last epoch ready to prove.
|
|
21
|
+
*/ export class EpochMonitor {
|
|
22
|
+
l2BlockSource;
|
|
23
|
+
l1Constants;
|
|
24
|
+
options;
|
|
25
|
+
runningPromise;
|
|
26
|
+
log;
|
|
27
|
+
tracer;
|
|
28
|
+
handler;
|
|
29
|
+
latestEpochNumber;
|
|
30
|
+
constructor(l2BlockSource, l1Constants, options, telemetry = getTelemetryClient()){
|
|
31
|
+
this.l2BlockSource = l2BlockSource;
|
|
32
|
+
this.l1Constants = l1Constants;
|
|
33
|
+
this.options = options;
|
|
34
|
+
this.log = createLogger('prover-node:epoch-monitor');
|
|
35
|
+
this.tracer = telemetry.getTracer('EpochMonitor');
|
|
36
|
+
this.runningPromise = new RunningPromise(this.work.bind(this), this.log, this.options.pollingIntervalMs);
|
|
37
|
+
}
|
|
38
|
+
static async create(l2BlockSource, options, telemetry = getTelemetryClient()) {
|
|
39
|
+
const l1Constants = await l2BlockSource.getL1Constants();
|
|
40
|
+
return new EpochMonitor(l2BlockSource, l1Constants, options, telemetry);
|
|
41
|
+
}
|
|
42
|
+
start(handler) {
|
|
43
|
+
this.handler = handler;
|
|
44
|
+
this.runningPromise.start();
|
|
45
|
+
this.log.info('Started EpochMonitor', this.options);
|
|
46
|
+
}
|
|
47
|
+
/** Exposed for testing */ setHandler(handler) {
|
|
48
|
+
this.handler = handler;
|
|
49
|
+
}
|
|
50
|
+
async stop() {
|
|
51
|
+
await this.runningPromise.stop();
|
|
52
|
+
this.log.info('Stopped EpochMonitor');
|
|
53
|
+
}
|
|
54
|
+
async work() {
|
|
55
|
+
const { epochToProve, blockNumber, slotNumber } = await this.getEpochNumberToProve();
|
|
56
|
+
if (epochToProve === undefined) {
|
|
57
|
+
this.log.trace(`Next block to prove ${blockNumber} not yet mined`, {
|
|
58
|
+
blockNumber
|
|
59
|
+
});
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (this.latestEpochNumber !== undefined && epochToProve <= this.latestEpochNumber) {
|
|
63
|
+
this.log.trace(`Epoch ${epochToProve} already processed`, {
|
|
64
|
+
epochToProve,
|
|
65
|
+
blockNumber,
|
|
66
|
+
slotNumber
|
|
67
|
+
});
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const isCompleted = await this.l2BlockSource.isEpochComplete(epochToProve);
|
|
71
|
+
if (!isCompleted) {
|
|
72
|
+
this.log.trace(`Epoch ${epochToProve} is not complete`, {
|
|
73
|
+
epochToProve,
|
|
74
|
+
blockNumber,
|
|
75
|
+
slotNumber
|
|
76
|
+
});
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.log.debug(`Epoch ${epochToProve} is ready to be proven`);
|
|
80
|
+
await this.handler?.handleEpochReadyToProve(epochToProve);
|
|
81
|
+
this.latestEpochNumber = epochToProve;
|
|
82
|
+
}
|
|
83
|
+
async getEpochNumberToProve() {
|
|
84
|
+
const lastBlockProven = await this.l2BlockSource.getProvenBlockNumber();
|
|
85
|
+
const firstBlockToProve = lastBlockProven + 1;
|
|
86
|
+
const firstBlockHeaderToProve = await this.l2BlockSource.getBlockHeader(firstBlockToProve);
|
|
87
|
+
if (!firstBlockHeaderToProve) {
|
|
88
|
+
return {
|
|
89
|
+
epochToProve: undefined,
|
|
90
|
+
blockNumber: firstBlockToProve
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const firstSlotOfEpochToProve = firstBlockHeaderToProve.getSlot();
|
|
94
|
+
const epochToProve = getEpochAtSlot(firstSlotOfEpochToProve, this.l1Constants);
|
|
95
|
+
return {
|
|
96
|
+
epochToProve,
|
|
97
|
+
blockNumber: firstBlockToProve,
|
|
98
|
+
slotNumber: firstSlotOfEpochToProve
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_ts_decorate([
|
|
103
|
+
trackSpan('EpochMonitor.work')
|
|
104
|
+
], EpochMonitor.prototype, "work", null);
|
package/dest/monitors/index.js
CHANGED
|
@@ -3,10 +3,9 @@ export const proverCoordinationConfigMappings = {
|
|
|
3
3
|
proverCoordinationNodeUrl: {
|
|
4
4
|
env: 'PROVER_COORDINATION_NODE_URL',
|
|
5
5
|
description: 'The URL of the tx provider node',
|
|
6
|
-
parseEnv: (val)
|
|
7
|
-
}
|
|
6
|
+
parseEnv: (val)=>val
|
|
7
|
+
}
|
|
8
8
|
};
|
|
9
9
|
export function getTxProviderConfigFromEnv() {
|
|
10
10
|
return getConfigFromMappings(proverCoordinationConfigMappings);
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3Zlci1jb29yZGluYXRpb24vY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU0xRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBaUQ7SUFDNUYseUJBQXlCLEVBQUU7UUFDekIsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRztLQUMvQjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU8scUJBQXFCLENBQTJCLGdDQUFnQyxDQUFDLENBQUM7QUFDM0YsQ0FBQyJ9
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import type { ArchiveSource, Archiver } from '@aztec/archiver';
|
|
2
|
+
import type { EpochCache } from '@aztec/epoch-cache';
|
|
3
|
+
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
4
|
+
import type { ProverCoordination, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
|
|
5
5
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
6
|
-
import {
|
|
6
|
+
import type { ProverNodeConfig } from '../config.js';
|
|
7
7
|
type ProverCoordinationDeps = {
|
|
8
8
|
aztecNodeTxProvider?: ProverCoordination;
|
|
9
9
|
worldStateSynchronizer?: WorldStateSynchronizer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/prover-coordination/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/prover-coordination/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGlG,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,KAAK,sBAAsB,GAAG;IAC5B,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAqC7B"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { BBCircuitVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
2
|
-
import { P2PClientType, createAztecNodeClient, getComponentsVersionsFromConfig, } from '@aztec/circuit-types';
|
|
3
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/
|
|
3
|
+
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
5
4
|
import { createP2PClient } from '@aztec/p2p';
|
|
6
5
|
import { protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
6
|
+
import { createAztecNodeClient } from '@aztec/stdlib/interfaces/client';
|
|
7
|
+
import { P2PClientType } from '@aztec/stdlib/p2p';
|
|
8
|
+
import { getComponentsVersionsFromConfig } from '@aztec/stdlib/versioning';
|
|
7
9
|
import { makeTracedFetch } from '@aztec/telemetry-client';
|
|
8
10
|
/**
|
|
9
11
|
* Creates a prover coordination service.
|
|
10
12
|
* If p2p is enabled, prover coordination is done via p2p.
|
|
11
13
|
* If an Aztec node URL is provided, prover coordination is done via the Aztec node over http.
|
|
12
14
|
* If an aztec node is provided, it is returned directly.
|
|
13
|
-
*/
|
|
14
|
-
export async function createProverCoordination(config, deps) {
|
|
15
|
+
*/ export async function createProverCoordination(config, deps) {
|
|
15
16
|
const log = createLogger('prover-node:prover-coordination');
|
|
16
17
|
if (deps.aztecNodeTxProvider) {
|
|
17
18
|
log.info('Using prover coordination via aztec node');
|
|
@@ -30,10 +31,12 @@ export async function createProverCoordination(config, deps) {
|
|
|
30
31
|
if (config.proverCoordinationNodeUrl) {
|
|
31
32
|
log.info('Using prover coordination via node url');
|
|
32
33
|
const versions = getComponentsVersionsFromConfig(config, protocolContractTreeRoot, getVKTreeRoot());
|
|
33
|
-
return createAztecNodeClient(config.proverCoordinationNodeUrl, versions, makeTracedFetch([
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
return createAztecNodeClient(config.proverCoordinationNodeUrl, versions, makeTracedFetch([
|
|
35
|
+
1,
|
|
36
|
+
2,
|
|
37
|
+
3
|
|
38
|
+
], false));
|
|
39
|
+
} else {
|
|
36
40
|
throw new Error(`Aztec Node URL for Tx Provider is not set.`);
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92ZXItY29vcmRpbmF0aW9uL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUUsT0FBTyxFQUNMLGFBQWEsRUFHYixxQkFBcUIsRUFDckIsK0JBQStCLEdBQ2hDLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFhaEY7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUEwQyxFQUMxQyxJQUE0QjtJQUU1QixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUU1RCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxRixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0saUJBQWlCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDMUcsTUFBTSxTQUFTLEdBQUcsTUFBTSxlQUFlLENBQ3JDLGFBQWEsQ0FBQyxNQUFNLEVBQ3BCLE1BQU0sRUFDTixJQUFJLENBQUMsUUFBUSxFQUNiLGFBQWEsRUFDYixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FDZixDQUFDO1FBQ0YsTUFBTSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFeEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDckMsR0FBRyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sUUFBUSxHQUFHLCtCQUErQixDQUFDLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDaEUsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export * from './config.js';
|
|
2
2
|
export * from './factory.js';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmVyLWNvb3JkaW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQyJ9
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { AZTEC_MAX_EPOCH_DURATION
|
|
2
|
-
import {
|
|
3
|
-
import { type L1TxUtils, type RollupContract } from '@aztec/ethereum';
|
|
1
|
+
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
2
|
+
import type { L1TxUtils, RollupContract } from '@aztec/ethereum';
|
|
4
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
5
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
7
|
-
import {
|
|
6
|
+
import type { PublisherConfig, TxSenderConfig } from '@aztec/sequencer-client';
|
|
7
|
+
import type { Proof } from '@aztec/stdlib/proofs';
|
|
8
|
+
import type { FeeRecipient, RootRollupPublicInputs } from '@aztec/stdlib/rollup';
|
|
8
9
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
9
10
|
/**
|
|
10
11
|
* Stats for a sent transaction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAI5E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAMnF;;GAEG;AACH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,EAAE,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE,CAAC;IACtB,YAAY,EAAE,EAAE,CAAC;IACjB,YAAY,EAAE,EAAE,CAAC;IACjB,OAAO,EAAE,EAAE,CAAC;IACZ,QAAQ,EAAE,EAAE,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAoB;IAEnC,SAAS,CAAC,GAAG,yCAA+C;IAE5D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAEzC,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAGnC,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE;QACJ,cAAc,EAAE,cAAc,CAAC;QAC/B,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B;IAYH;;;;;OAKG;IACI,SAAS;IAKhB,wDAAwD;IACjD,OAAO;IAIP,gBAAgB;IAIV,gBAAgB,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,sBAAsB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;KACd,GAAG,OAAO,CAAC,OAAO,CAAC;YAgDN,4BAA4B;YAyD5B,sBAAsB;IAoDpC,OAAO,CAAC,uBAAuB;cA+Bf,kBAAkB;CAGnC"}
|