@aztec/validator-client 4.0.0-nightly.20260107 → 4.0.0-nightly.20260110
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/block_proposal_handler.js +1 -1
- package/dest/metrics.d.ts +1 -1
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +8 -33
- package/package.json +12 -12
- package/src/block_proposal_handler.ts +1 -1
- package/src/metrics.ts +7 -34
|
@@ -134,7 +134,7 @@ export class BlockProposalHandler {
|
|
|
134
134
|
// Check that I have the same set of l1ToL2Messages as the proposal
|
|
135
135
|
const l1ToL2Messages = await this.l1ToL2MessageSource.getL1ToL2Messages(CheckpointNumber.fromBlockNumber(blockNumber));
|
|
136
136
|
const computedInHash = computeInHashFromL1ToL2Messages(l1ToL2Messages);
|
|
137
|
-
const proposalInHash = proposal.payload.header.
|
|
137
|
+
const proposalInHash = proposal.payload.header.inHash;
|
|
138
138
|
if (!computedInHash.equals(proposalInHash)) {
|
|
139
139
|
this.log.warn(`L1 to L2 messages in hash mismatch, skipping processing`, {
|
|
140
140
|
proposalInHash: proposalInHash.toString(),
|
package/dest/metrics.d.ts
CHANGED
|
@@ -15,4 +15,4 @@ export declare class ValidatorMetrics {
|
|
|
15
15
|
incFailedAttestationsBadProposal(num: number, reason: string, inCommittee: boolean): void;
|
|
16
16
|
incFailedAttestationsNodeIssue(num: number, reason: string, inCommittee: boolean): void;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUtMLEtBQUssZUFBZSxFQUVyQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLHFCQUFhLGdCQUFnQjtJQUMzQixPQUFPLENBQUMsd0JBQXdCLENBQWdCO0lBQ2hELE9BQU8sQ0FBQywyQkFBMkIsQ0FBZ0I7SUFDbkQsT0FBTyxDQUFDLGtDQUFrQyxDQUFnQjtJQUMxRCxPQUFPLENBQUMsZ0NBQWdDLENBQWdCO0lBRXhELE9BQU8sQ0FBQyxRQUFRLENBQVk7SUFDNUIsT0FBTyxDQUFDLE1BQU0sQ0FBWTtJQUMxQixPQUFPLENBQUMsWUFBWSxDQUFRO0lBRTVCLFlBQVksZUFBZSxFQUFFLGVBQWUsRUFvQjNDO0lBRU0sVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUk5RDtJQUVNLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxhQUFhLFFBTXJEO0lBRU0seUJBQXlCLENBQUMsR0FBRyxFQUFFLE1BQU0sUUFFM0M7SUFFTSxnQ0FBZ0MsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sUUFLeEY7SUFFTSw4QkFBOEIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sUUFLdEY7Q0FDRiJ9
|
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,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,wBAAwB,CAAgB;IAChD,OAAO,CAAC,2BAA2B,CAAgB;IACnD,OAAO,CAAC,kCAAkC,CAAgB;IAC1D,OAAO,CAAC,gCAAgC,CAAgB;IAExD,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,YAAY,CAAQ;IAE5B,YAAY,eAAe,EAAE,eAAe,EAoB3C;IAEM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAI9D;IAEM,uBAAuB,CAAC,QAAQ,EAAE,aAAa,QAMrD;IAEM,yBAAyB,CAAC,GAAG,EAAE,MAAM,QAE3C;IAEM,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,QAKxF;IAEM,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,QAKtF;CACF"}
|
package/dest/metrics.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Attributes, Metrics
|
|
1
|
+
import { Attributes, Metrics } from '@aztec/telemetry-client';
|
|
2
2
|
export class ValidatorMetrics {
|
|
3
3
|
failedReexecutionCounter;
|
|
4
4
|
successfulAttestationsCount;
|
|
@@ -9,38 +9,13 @@ export class ValidatorMetrics {
|
|
|
9
9
|
reexDuration;
|
|
10
10
|
constructor(telemetryClient){
|
|
11
11
|
const meter = telemetryClient.getMeter('Validator');
|
|
12
|
-
this.failedReexecutionCounter = meter.createUpDownCounter(Metrics.VALIDATOR_FAILED_REEXECUTION_COUNT
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
valueType: ValueType.INT
|
|
20
|
-
});
|
|
21
|
-
this.failedAttestationsBadProposalCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_FAILED_BAD_PROPOSAL_COUNT, {
|
|
22
|
-
description: 'The number of failed attestations due to invalid block proposals',
|
|
23
|
-
valueType: ValueType.INT
|
|
24
|
-
});
|
|
25
|
-
this.failedAttestationsNodeIssueCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT, {
|
|
26
|
-
description: 'The number of failed attestations due to node issues (timeout, missing data, etc.)',
|
|
27
|
-
valueType: ValueType.INT
|
|
28
|
-
});
|
|
29
|
-
this.reexMana = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_MANA, {
|
|
30
|
-
description: 'The mana consumed by blocks',
|
|
31
|
-
valueType: ValueType.DOUBLE,
|
|
32
|
-
unit: 'Mmana'
|
|
33
|
-
});
|
|
34
|
-
this.reexTx = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_TX_COUNT, {
|
|
35
|
-
description: 'The number of txs in a block proposal',
|
|
36
|
-
valueType: ValueType.INT,
|
|
37
|
-
unit: 'tx'
|
|
38
|
-
});
|
|
39
|
-
this.reexDuration = meter.createGauge(Metrics.VALIDATOR_RE_EXECUTION_TIME, {
|
|
40
|
-
description: 'The time taken to re-execute a transaction',
|
|
41
|
-
unit: 'ms',
|
|
42
|
-
valueType: ValueType.INT
|
|
43
|
-
});
|
|
12
|
+
this.failedReexecutionCounter = meter.createUpDownCounter(Metrics.VALIDATOR_FAILED_REEXECUTION_COUNT);
|
|
13
|
+
this.successfulAttestationsCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_SUCCESS_COUNT);
|
|
14
|
+
this.failedAttestationsBadProposalCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_FAILED_BAD_PROPOSAL_COUNT);
|
|
15
|
+
this.failedAttestationsNodeIssueCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT);
|
|
16
|
+
this.reexMana = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_MANA);
|
|
17
|
+
this.reexTx = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_TX_COUNT);
|
|
18
|
+
this.reexDuration = meter.createGauge(Metrics.VALIDATOR_RE_EXECUTION_TIME);
|
|
44
19
|
}
|
|
45
20
|
recordReex(time, txs, mManaTotal) {
|
|
46
21
|
this.reexDuration.record(Math.ceil(time));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/validator-client",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260110",
|
|
4
4
|
"main": "dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -64,17 +64,17 @@
|
|
|
64
64
|
]
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@aztec/blob-client": "4.0.0-nightly.
|
|
68
|
-
"@aztec/blob-lib": "4.0.0-nightly.
|
|
69
|
-
"@aztec/constants": "4.0.0-nightly.
|
|
70
|
-
"@aztec/epoch-cache": "4.0.0-nightly.
|
|
71
|
-
"@aztec/ethereum": "4.0.0-nightly.
|
|
72
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
73
|
-
"@aztec/node-keystore": "4.0.0-nightly.
|
|
74
|
-
"@aztec/p2p": "4.0.0-nightly.
|
|
75
|
-
"@aztec/slasher": "4.0.0-nightly.
|
|
76
|
-
"@aztec/stdlib": "4.0.0-nightly.
|
|
77
|
-
"@aztec/telemetry-client": "4.0.0-nightly.
|
|
67
|
+
"@aztec/blob-client": "4.0.0-nightly.20260110",
|
|
68
|
+
"@aztec/blob-lib": "4.0.0-nightly.20260110",
|
|
69
|
+
"@aztec/constants": "4.0.0-nightly.20260110",
|
|
70
|
+
"@aztec/epoch-cache": "4.0.0-nightly.20260110",
|
|
71
|
+
"@aztec/ethereum": "4.0.0-nightly.20260110",
|
|
72
|
+
"@aztec/foundation": "4.0.0-nightly.20260110",
|
|
73
|
+
"@aztec/node-keystore": "4.0.0-nightly.20260110",
|
|
74
|
+
"@aztec/p2p": "4.0.0-nightly.20260110",
|
|
75
|
+
"@aztec/slasher": "4.0.0-nightly.20260110",
|
|
76
|
+
"@aztec/stdlib": "4.0.0-nightly.20260110",
|
|
77
|
+
"@aztec/telemetry-client": "4.0.0-nightly.20260110",
|
|
78
78
|
"koa": "^2.16.1",
|
|
79
79
|
"koa-router": "^13.1.1",
|
|
80
80
|
"tslib": "^2.4.0",
|
|
@@ -177,7 +177,7 @@ export class BlockProposalHandler {
|
|
|
177
177
|
CheckpointNumber.fromBlockNumber(blockNumber),
|
|
178
178
|
);
|
|
179
179
|
const computedInHash = computeInHashFromL1ToL2Messages(l1ToL2Messages);
|
|
180
|
-
const proposalInHash = proposal.payload.header.
|
|
180
|
+
const proposalInHash = proposal.payload.header.inHash;
|
|
181
181
|
if (!computedInHash.equals(proposalInHash)) {
|
|
182
182
|
this.log.warn(`L1 to L2 messages in hash mismatch, skipping processing`, {
|
|
183
183
|
proposalInHash: proposalInHash.toString(),
|
package/src/metrics.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { BlockProposal } from '@aztec/stdlib/p2p';
|
|
2
2
|
import {
|
|
3
3
|
Attributes,
|
|
4
|
+
type Gauge,
|
|
4
5
|
type Histogram,
|
|
5
6
|
Metrics,
|
|
6
7
|
type TelemetryClient,
|
|
7
8
|
type UpDownCounter,
|
|
8
|
-
ValueType,
|
|
9
9
|
} from '@aztec/telemetry-client';
|
|
10
10
|
|
|
11
11
|
export class ValidatorMetrics {
|
|
@@ -16,55 +16,28 @@ export class ValidatorMetrics {
|
|
|
16
16
|
|
|
17
17
|
private reexMana: Histogram;
|
|
18
18
|
private reexTx: Histogram;
|
|
19
|
-
private reexDuration:
|
|
19
|
+
private reexDuration: Gauge;
|
|
20
20
|
|
|
21
21
|
constructor(telemetryClient: TelemetryClient) {
|
|
22
22
|
const meter = telemetryClient.getMeter('Validator');
|
|
23
23
|
|
|
24
|
-
this.failedReexecutionCounter = meter.createUpDownCounter(Metrics.VALIDATOR_FAILED_REEXECUTION_COUNT
|
|
25
|
-
description: 'The number of failed re-executions',
|
|
26
|
-
unit: 'count',
|
|
27
|
-
valueType: ValueType.INT,
|
|
28
|
-
});
|
|
24
|
+
this.failedReexecutionCounter = meter.createUpDownCounter(Metrics.VALIDATOR_FAILED_REEXECUTION_COUNT);
|
|
29
25
|
|
|
30
|
-
this.successfulAttestationsCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_SUCCESS_COUNT
|
|
31
|
-
description: 'The number of successful attestations',
|
|
32
|
-
valueType: ValueType.INT,
|
|
33
|
-
});
|
|
26
|
+
this.successfulAttestationsCount = meter.createUpDownCounter(Metrics.VALIDATOR_ATTESTATION_SUCCESS_COUNT);
|
|
34
27
|
|
|
35
28
|
this.failedAttestationsBadProposalCount = meter.createUpDownCounter(
|
|
36
29
|
Metrics.VALIDATOR_ATTESTATION_FAILED_BAD_PROPOSAL_COUNT,
|
|
37
|
-
{
|
|
38
|
-
description: 'The number of failed attestations due to invalid block proposals',
|
|
39
|
-
valueType: ValueType.INT,
|
|
40
|
-
},
|
|
41
30
|
);
|
|
42
31
|
|
|
43
32
|
this.failedAttestationsNodeIssueCount = meter.createUpDownCounter(
|
|
44
33
|
Metrics.VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT,
|
|
45
|
-
{
|
|
46
|
-
description: 'The number of failed attestations due to node issues (timeout, missing data, etc.)',
|
|
47
|
-
valueType: ValueType.INT,
|
|
48
|
-
},
|
|
49
34
|
);
|
|
50
35
|
|
|
51
|
-
this.reexMana = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_MANA
|
|
52
|
-
description: 'The mana consumed by blocks',
|
|
53
|
-
valueType: ValueType.DOUBLE,
|
|
54
|
-
unit: 'Mmana',
|
|
55
|
-
});
|
|
36
|
+
this.reexMana = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_MANA);
|
|
56
37
|
|
|
57
|
-
this.reexTx = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_TX_COUNT
|
|
58
|
-
description: 'The number of txs in a block proposal',
|
|
59
|
-
valueType: ValueType.INT,
|
|
60
|
-
unit: 'tx',
|
|
61
|
-
});
|
|
38
|
+
this.reexTx = meter.createHistogram(Metrics.VALIDATOR_RE_EXECUTION_TX_COUNT);
|
|
62
39
|
|
|
63
|
-
this.reexDuration = meter.createGauge(Metrics.VALIDATOR_RE_EXECUTION_TIME
|
|
64
|
-
description: 'The time taken to re-execute a transaction',
|
|
65
|
-
unit: 'ms',
|
|
66
|
-
valueType: ValueType.INT,
|
|
67
|
-
});
|
|
40
|
+
this.reexDuration = meter.createGauge(Metrics.VALIDATOR_RE_EXECUTION_TIME);
|
|
68
41
|
}
|
|
69
42
|
|
|
70
43
|
public recordReex(time: number, txs: number, mManaTotal: number) {
|