@aztec/sequencer-client 0.71.0 → 0.73.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/client/sequencer-client.d.ts +11 -6
- package/dest/client/sequencer-client.d.ts.map +1 -1
- package/dest/client/sequencer-client.js +41 -10
- package/dest/config.d.ts +1 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +3 -4
- package/dest/publisher/config.d.ts +5 -0
- package/dest/publisher/config.d.ts.map +1 -1
- package/dest/publisher/config.js +9 -2
- package/dest/publisher/index.d.ts +1 -1
- package/dest/publisher/index.d.ts.map +1 -1
- package/dest/publisher/index.js +2 -2
- package/dest/publisher/{l1-publisher-metrics.d.ts → sequencer-publisher-metrics.d.ts} +6 -2
- package/dest/publisher/sequencer-publisher-metrics.d.ts.map +1 -0
- package/dest/publisher/sequencer-publisher-metrics.js +111 -0
- package/dest/publisher/sequencer-publisher.d.ts +158 -0
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -0
- package/dest/publisher/sequencer-publisher.js +555 -0
- package/dest/sequencer/allowed.d.ts +1 -1
- package/dest/sequencer/allowed.d.ts.map +1 -1
- package/dest/sequencer/allowed.js +6 -6
- package/dest/sequencer/metrics.d.ts +1 -1
- package/dest/sequencer/metrics.d.ts.map +1 -1
- package/dest/sequencer/metrics.js +3 -4
- package/dest/sequencer/sequencer.d.ts +18 -12
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +118 -125
- package/dest/sequencer/utils.d.ts +1 -1
- package/dest/sequencer/utils.d.ts.map +1 -1
- package/dest/sequencer/utils.js +3 -3
- package/dest/slasher/slasher_client.d.ts.map +1 -1
- package/dest/slasher/slasher_client.js +6 -3
- package/dest/test/index.d.ts +3 -3
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -2
- package/dest/tx_validator/gas_validator.d.ts +1 -1
- package/dest/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/tx_validator/gas_validator.js +10 -5
- package/dest/tx_validator/test_utils.d.ts +4 -4
- package/dest/tx_validator/test_utils.d.ts.map +1 -1
- package/dest/tx_validator/test_utils.js +3 -3
- package/package.json +22 -21
- package/src/client/sequencer-client.ts +60 -14
- package/src/config.ts +3 -3
- package/src/publisher/config.ts +13 -1
- package/src/publisher/index.ts +1 -1
- package/src/publisher/{l1-publisher-metrics.ts → sequencer-publisher-metrics.ts} +41 -2
- package/src/publisher/sequencer-publisher.ts +730 -0
- package/src/sequencer/allowed.ts +5 -5
- package/src/sequencer/metrics.ts +2 -3
- package/src/sequencer/sequencer.ts +153 -150
- package/src/sequencer/utils.ts +5 -2
- package/src/slasher/slasher_client.ts +7 -2
- package/src/test/index.ts +2 -4
- package/src/tx_validator/gas_validator.ts +17 -4
- package/src/tx_validator/test_utils.ts +5 -5
- package/dest/publisher/l1-publisher-metrics.d.ts.map +0 -1
- package/dest/publisher/l1-publisher-metrics.js +0 -85
- package/dest/publisher/l1-publisher.d.ts +0 -195
- package/dest/publisher/l1-publisher.d.ts.map +0 -1
- package/dest/publisher/l1-publisher.js +0 -864
- package/dest/test/test-l1-publisher.d.ts +0 -9
- package/dest/test/test-l1-publisher.d.ts.map +0 -1
- package/dest/test/test-l1-publisher.js +0 -11
- package/src/publisher/l1-publisher.ts +0 -1208
- package/src/test/test-l1-publisher.ts +0 -20
|
@@ -12,7 +12,7 @@ import { formatEther } from 'viem/utils';
|
|
|
12
12
|
|
|
13
13
|
export type L1TxType = 'submitProof' | 'process' | 'claimEpochProofRight';
|
|
14
14
|
|
|
15
|
-
export class
|
|
15
|
+
export class SequencerPublisherMetrics {
|
|
16
16
|
private gasPrice: Histogram;
|
|
17
17
|
|
|
18
18
|
private txCount: UpDownCounter;
|
|
@@ -23,7 +23,12 @@ export class L1PublisherMetrics {
|
|
|
23
23
|
private txBlobDataGasUsed: Histogram;
|
|
24
24
|
private txBlobDataGasCost: Histogram;
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
private readonly blobCountHistogram: Histogram;
|
|
27
|
+
private readonly blobInclusionBlocksHistogram: Histogram;
|
|
28
|
+
private readonly blobTxSuccessCounter: UpDownCounter;
|
|
29
|
+
private readonly blobTxFailureCounter: UpDownCounter;
|
|
30
|
+
|
|
31
|
+
constructor(client: TelemetryClient, name = 'SequencerPublisher') {
|
|
27
32
|
const meter = client.getMeter(name);
|
|
28
33
|
|
|
29
34
|
this.gasPrice = meter.createHistogram(Metrics.L1_PUBLISHER_GAS_PRICE, {
|
|
@@ -71,6 +76,26 @@ export class L1PublisherMetrics {
|
|
|
71
76
|
unit: 'gwei',
|
|
72
77
|
valueType: ValueType.INT,
|
|
73
78
|
});
|
|
79
|
+
|
|
80
|
+
this.blobCountHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_COUNT, {
|
|
81
|
+
description: 'Number of blobs in L1 transactions',
|
|
82
|
+
unit: 'blobs',
|
|
83
|
+
valueType: ValueType.INT,
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
this.blobInclusionBlocksHistogram = meter.createHistogram(Metrics.L1_PUBLISHER_BLOB_INCLUSION_BLOCKS, {
|
|
87
|
+
description: 'Number of L1 blocks between blob tx submission and inclusion',
|
|
88
|
+
unit: 'blocks',
|
|
89
|
+
valueType: ValueType.INT,
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
this.blobTxSuccessCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_SUCCESS, {
|
|
93
|
+
description: 'Number of successful L1 transactions with blobs',
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
this.blobTxFailureCounter = meter.createUpDownCounter(Metrics.L1_PUBLISHER_BLOB_TX_FAILURE, {
|
|
97
|
+
description: 'Number of failed L1 transactions with blobs',
|
|
98
|
+
});
|
|
74
99
|
}
|
|
75
100
|
|
|
76
101
|
recordFailedTx(txType: L1TxType) {
|
|
@@ -78,6 +103,10 @@ export class L1PublisherMetrics {
|
|
|
78
103
|
[Attributes.L1_TX_TYPE]: txType,
|
|
79
104
|
[Attributes.OK]: false,
|
|
80
105
|
});
|
|
106
|
+
|
|
107
|
+
if (txType === 'process') {
|
|
108
|
+
this.blobTxFailureCounter.add(1);
|
|
109
|
+
}
|
|
81
110
|
}
|
|
82
111
|
|
|
83
112
|
recordSubmitProof(durationMs: number, stats: L1PublishProofStats) {
|
|
@@ -86,6 +115,16 @@ export class L1PublisherMetrics {
|
|
|
86
115
|
|
|
87
116
|
recordProcessBlockTx(durationMs: number, stats: L1PublishBlockStats) {
|
|
88
117
|
this.recordTx('process', durationMs, stats);
|
|
118
|
+
|
|
119
|
+
if (stats.blobCount && stats.blobCount > 0) {
|
|
120
|
+
this.blobCountHistogram.record(stats.blobCount);
|
|
121
|
+
|
|
122
|
+
if (stats.inclusionBlocks !== undefined) {
|
|
123
|
+
this.blobInclusionBlocksHistogram.record(stats.inclusionBlocks);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
this.blobTxSuccessCounter.add(1);
|
|
127
|
+
}
|
|
89
128
|
}
|
|
90
129
|
|
|
91
130
|
recordClaimEpochProofRightTx(durationMs: number, stats: L1PublishStats) {
|