@aztec/sequencer-client 2.1.10-rc.2 → 2.1.11-rc.3

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.
@@ -28,6 +28,9 @@ export declare class SequencerMetrics {
28
28
  private fishermanTimeBeforeBlock;
29
29
  private fishermanPendingBlobTxCount;
30
30
  private fishermanIncludedBlobTxCount;
31
+ private fishermanPendingBlobCount;
32
+ private fishermanIncludedBlobCount;
33
+ private fishermanBlockBlobsFull;
31
34
  private fishermanCalculatedPriorityFee;
32
35
  private fishermanPriorityFeeDelta;
33
36
  private fishermanEstimatedCost;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/sequencer/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAgB;IAyCzB,OAAO,CAAC,MAAM;IAxChB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,6BAA6B,CAAY;IAGjD,OAAO,CAAC,yBAAyB,CAAQ;IACzC,OAAO,CAAC,8BAA8B,CAAQ;IAC9C,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,2BAA2B,CAAgB;IACnD,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,YAAY,CAAC,CAAS;IAG9B,OAAO,CAAC,wBAAwB,CAAgB;IAChD,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,2BAA2B,CAAY;IAC/C,OAAO,CAAC,4BAA4B,CAAY;IAChD,OAAO,CAAC,8BAA8B,CAAY;IAClD,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,6BAA6B,CAAY;IACjD,OAAO,CAAC,+BAA+B,CAAY;IACnD,OAAO,CAAC,6BAA6B,CAAY;gBAG/C,MAAM,EAAE,eAAe,EACf,MAAM,EAAE,cAAc,EAC9B,IAAI,SAAc;IAqLb,0BAA0B,CAAC,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASjF,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAKpE,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQ3D,iBAAiB;IAMjB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc;IAMvE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAapC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5F,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM;IAMzC,0BAA0B;IAI1B,iCAAiC,CAAC,SAAS,EAAE,MAAM;IAMnD,qBAAqB,CAAC,WAAW,EAAE,MAAM;IAIzC;;;OAGG;IACH,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB;CAsFzD"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/sequencer/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAgB;IA4CzB,OAAO,CAAC,MAAM;IA3ChB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAY;IACtC,OAAO,CAAC,uBAAuB,CAAQ;IACvC,OAAO,CAAC,6BAA6B,CAAY;IAGjD,OAAO,CAAC,yBAAyB,CAAQ;IACzC,OAAO,CAAC,8BAA8B,CAAQ;IAC9C,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,WAAW,CAAgB;IAEnC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,2BAA2B,CAAgB;IACnD,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,YAAY,CAAC,CAAS;IAG9B,OAAO,CAAC,wBAAwB,CAAgB;IAChD,OAAO,CAAC,wBAAwB,CAAY;IAC5C,OAAO,CAAC,2BAA2B,CAAY;IAC/C,OAAO,CAAC,4BAA4B,CAAY;IAChD,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,0BAA0B,CAAY;IAC9C,OAAO,CAAC,uBAAuB,CAAgB;IAC/C,OAAO,CAAC,8BAA8B,CAAY;IAClD,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,6BAA6B,CAAY;IACjD,OAAO,CAAC,+BAA+B,CAAY;IACnD,OAAO,CAAC,6BAA6B,CAAY;gBAG/C,MAAM,EAAE,eAAe,EACf,MAAM,EAAE,cAAc,EAC9B,IAAI,SAAc;IA4Mb,0BAA0B,CAAC,yBAAyB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASjF,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAKpE,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQ3D,iBAAiB;IAMjB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc;IAMvE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAapC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5F,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM;IAMzC,0BAA0B;IAI1B,iCAAiC,CAAC,SAAS,EAAE,MAAM;IAMnD,qBAAqB,CAAC,WAAW,EAAE,MAAM;IAIzC;;;OAGG;IACH,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB;CA+FzD"}
@@ -26,6 +26,9 @@ export class SequencerMetrics {
26
26
  fishermanTimeBeforeBlock;
27
27
  fishermanPendingBlobTxCount;
28
28
  fishermanIncludedBlobTxCount;
29
+ fishermanPendingBlobCount;
30
+ fishermanIncludedBlobCount;
31
+ fishermanBlockBlobsFull;
29
32
  fishermanCalculatedPriorityFee;
30
33
  fishermanPriorityFeeDelta;
31
34
  fishermanEstimatedCost;
@@ -156,6 +159,25 @@ export class SequencerMetrics {
156
159
  description: 'Total cost in ETH for blob transactions in mined blocks',
157
160
  valueType: ValueType.DOUBLE
158
161
  });
162
+ this.fishermanPendingBlobCount = this.meter.createHistogram(Metrics.FISHERMAN_FEE_ANALYSIS_PENDING_BLOB_COUNT, {
163
+ description: 'Number of blobs seen in the pending block',
164
+ valueType: ValueType.INT
165
+ });
166
+ this.fishermanIncludedBlobCount = this.meter.createHistogram(Metrics.FISHERMAN_FEE_ANALYSIS_INCLUDED_BLOB_COUNT, {
167
+ description: 'Number of blobs that got included in the mined block',
168
+ valueType: ValueType.INT
169
+ });
170
+ this.fishermanBlockBlobsFull = this.meter.createUpDownCounter(Metrics.FISHERMAN_FEE_ANALYSIS_BLOCK_BLOBS_FULL, {
171
+ valueType: ValueType.INT,
172
+ description: 'Whether the mined block reached 100% blob capacity'
173
+ });
174
+ // Initialize the counter
175
+ this.fishermanBlockBlobsFull.add(0, {
176
+ [Attributes.OK]: true
177
+ });
178
+ this.fishermanBlockBlobsFull.add(0, {
179
+ [Attributes.OK]: false
180
+ });
159
181
  }
160
182
  recordRequiredAttestations(requiredAttestationsCount, allowanceMs) {
161
183
  this.requiredAttestions.record(requiredAttestationsCount);
@@ -247,9 +269,11 @@ export class SequencerMetrics {
247
269
  };
248
270
  // Record pending block snapshot data (once per strategy for comparison)
249
271
  this.fishermanPendingBlobTxCount.record(analysis.pendingSnapshot.pendingBlobTxCount, strategyAttributes);
272
+ this.fishermanPendingBlobCount.record(analysis.pendingSnapshot.pendingBlobCount, strategyAttributes);
250
273
  // Record mined block data if available
251
274
  if (analysis.minedBlock) {
252
275
  this.fishermanIncludedBlobTxCount.record(analysis.minedBlock.includedBlobTxCount, strategyAttributes);
276
+ this.fishermanIncludedBlobCount.record(analysis.minedBlock.includedBlobCount, strategyAttributes);
253
277
  // Record actual fees from blob transactions in the mined block
254
278
  for (const blobTx of analysis.minedBlock.includedBlobTxs){
255
279
  // Record priority fee per gas in Gwei
@@ -274,6 +298,18 @@ export class SequencerMetrics {
274
298
  // Record analysis results if available
275
299
  if (analysis.analysis) {
276
300
  this.fishermanTimeBeforeBlock.record(Math.ceil(analysis.analysis.timeBeforeBlockMs), strategyAttributes);
301
+ // Record whether the block reached 100% blob capacity
302
+ if (analysis.analysis.blockBlobsFull) {
303
+ this.fishermanBlockBlobsFull.add(1, {
304
+ ...strategyAttributes,
305
+ [Attributes.OK]: true
306
+ });
307
+ } else {
308
+ this.fishermanBlockBlobsFull.add(1, {
309
+ ...strategyAttributes,
310
+ [Attributes.OK]: false
311
+ });
312
+ }
277
313
  // Record strategy-specific inclusion result
278
314
  if (strategyResult.wouldBeIncluded !== undefined) {
279
315
  if (strategyResult.wouldBeIncluded) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "2.1.10-rc.2",
3
+ "version": "2.1.11-rc.3",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -26,37 +26,37 @@
26
26
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/aztec.js": "2.1.10-rc.2",
30
- "@aztec/bb-prover": "2.1.10-rc.2",
31
- "@aztec/blob-lib": "2.1.10-rc.2",
32
- "@aztec/blob-sink": "2.1.10-rc.2",
33
- "@aztec/constants": "2.1.10-rc.2",
34
- "@aztec/epoch-cache": "2.1.10-rc.2",
35
- "@aztec/ethereum": "2.1.10-rc.2",
36
- "@aztec/foundation": "2.1.10-rc.2",
37
- "@aztec/l1-artifacts": "2.1.10-rc.2",
38
- "@aztec/merkle-tree": "2.1.10-rc.2",
39
- "@aztec/node-keystore": "2.1.10-rc.2",
40
- "@aztec/noir-acvm_js": "2.1.10-rc.2",
41
- "@aztec/noir-contracts.js": "2.1.10-rc.2",
42
- "@aztec/noir-protocol-circuits-types": "2.1.10-rc.2",
43
- "@aztec/noir-types": "2.1.10-rc.2",
44
- "@aztec/p2p": "2.1.10-rc.2",
45
- "@aztec/protocol-contracts": "2.1.10-rc.2",
46
- "@aztec/prover-client": "2.1.10-rc.2",
47
- "@aztec/simulator": "2.1.10-rc.2",
48
- "@aztec/slasher": "2.1.10-rc.2",
49
- "@aztec/stdlib": "2.1.10-rc.2",
50
- "@aztec/telemetry-client": "2.1.10-rc.2",
51
- "@aztec/validator-client": "2.1.10-rc.2",
52
- "@aztec/world-state": "2.1.10-rc.2",
29
+ "@aztec/aztec.js": "2.1.11-rc.3",
30
+ "@aztec/bb-prover": "2.1.11-rc.3",
31
+ "@aztec/blob-lib": "2.1.11-rc.3",
32
+ "@aztec/blob-sink": "2.1.11-rc.3",
33
+ "@aztec/constants": "2.1.11-rc.3",
34
+ "@aztec/epoch-cache": "2.1.11-rc.3",
35
+ "@aztec/ethereum": "2.1.11-rc.3",
36
+ "@aztec/foundation": "2.1.11-rc.3",
37
+ "@aztec/l1-artifacts": "2.1.11-rc.3",
38
+ "@aztec/merkle-tree": "2.1.11-rc.3",
39
+ "@aztec/node-keystore": "2.1.11-rc.3",
40
+ "@aztec/noir-acvm_js": "2.1.11-rc.3",
41
+ "@aztec/noir-contracts.js": "2.1.11-rc.3",
42
+ "@aztec/noir-protocol-circuits-types": "2.1.11-rc.3",
43
+ "@aztec/noir-types": "2.1.11-rc.3",
44
+ "@aztec/p2p": "2.1.11-rc.3",
45
+ "@aztec/protocol-contracts": "2.1.11-rc.3",
46
+ "@aztec/prover-client": "2.1.11-rc.3",
47
+ "@aztec/simulator": "2.1.11-rc.3",
48
+ "@aztec/slasher": "2.1.11-rc.3",
49
+ "@aztec/stdlib": "2.1.11-rc.3",
50
+ "@aztec/telemetry-client": "2.1.11-rc.3",
51
+ "@aztec/validator-client": "2.1.11-rc.3",
52
+ "@aztec/world-state": "2.1.11-rc.3",
53
53
  "lodash.chunk": "^4.2.0",
54
54
  "tslib": "^2.4.0",
55
55
  "viem": "npm:@aztec/viem@2.38.2"
56
56
  },
57
57
  "devDependencies": {
58
- "@aztec/archiver": "2.1.10-rc.2",
59
- "@aztec/kv-store": "2.1.10-rc.2",
58
+ "@aztec/archiver": "2.1.11-rc.3",
59
+ "@aztec/kv-store": "2.1.11-rc.3",
60
60
  "@jest/globals": "^30.0.0",
61
61
  "@types/jest": "^30.0.0",
62
62
  "@types/lodash.chunk": "^4.2.7",
@@ -49,6 +49,9 @@ export class SequencerMetrics {
49
49
  private fishermanTimeBeforeBlock: Histogram;
50
50
  private fishermanPendingBlobTxCount: Histogram;
51
51
  private fishermanIncludedBlobTxCount: Histogram;
52
+ private fishermanPendingBlobCount: Histogram;
53
+ private fishermanIncludedBlobCount: Histogram;
54
+ private fishermanBlockBlobsFull: UpDownCounter;
52
55
  private fishermanCalculatedPriorityFee: Histogram;
53
56
  private fishermanPriorityFeeDelta: Histogram;
54
57
  private fishermanEstimatedCost: Histogram;
@@ -238,6 +241,29 @@ export class SequencerMetrics {
238
241
  valueType: ValueType.DOUBLE,
239
242
  },
240
243
  );
244
+
245
+ this.fishermanPendingBlobCount = this.meter.createHistogram(Metrics.FISHERMAN_FEE_ANALYSIS_PENDING_BLOB_COUNT, {
246
+ description: 'Number of blobs seen in the pending block',
247
+ valueType: ValueType.INT,
248
+ });
249
+
250
+ this.fishermanIncludedBlobCount = this.meter.createHistogram(Metrics.FISHERMAN_FEE_ANALYSIS_INCLUDED_BLOB_COUNT, {
251
+ description: 'Number of blobs that got included in the mined block',
252
+ valueType: ValueType.INT,
253
+ });
254
+
255
+ this.fishermanBlockBlobsFull = this.meter.createUpDownCounter(Metrics.FISHERMAN_FEE_ANALYSIS_BLOCK_BLOBS_FULL, {
256
+ valueType: ValueType.INT,
257
+ description: 'Whether the mined block reached 100% blob capacity',
258
+ });
259
+
260
+ // Initialize the counter
261
+ this.fishermanBlockBlobsFull.add(0, {
262
+ [Attributes.OK]: true,
263
+ });
264
+ this.fishermanBlockBlobsFull.add(0, {
265
+ [Attributes.OK]: false,
266
+ });
241
267
  }
242
268
 
243
269
  public recordRequiredAttestations(requiredAttestationsCount: number, allowanceMs: number) {
@@ -348,10 +374,12 @@ export class SequencerMetrics {
348
374
 
349
375
  // Record pending block snapshot data (once per strategy for comparison)
350
376
  this.fishermanPendingBlobTxCount.record(analysis.pendingSnapshot.pendingBlobTxCount, strategyAttributes);
377
+ this.fishermanPendingBlobCount.record(analysis.pendingSnapshot.pendingBlobCount, strategyAttributes);
351
378
 
352
379
  // Record mined block data if available
353
380
  if (analysis.minedBlock) {
354
381
  this.fishermanIncludedBlobTxCount.record(analysis.minedBlock.includedBlobTxCount, strategyAttributes);
382
+ this.fishermanIncludedBlobCount.record(analysis.minedBlock.includedBlobCount, strategyAttributes);
355
383
 
356
384
  // Record actual fees from blob transactions in the mined block
357
385
  for (const blobTx of analysis.minedBlock.includedBlobTxs) {
@@ -385,6 +413,13 @@ export class SequencerMetrics {
385
413
  if (analysis.analysis) {
386
414
  this.fishermanTimeBeforeBlock.record(Math.ceil(analysis.analysis.timeBeforeBlockMs), strategyAttributes);
387
415
 
416
+ // Record whether the block reached 100% blob capacity
417
+ if (analysis.analysis.blockBlobsFull) {
418
+ this.fishermanBlockBlobsFull.add(1, { ...strategyAttributes, [Attributes.OK]: true });
419
+ } else {
420
+ this.fishermanBlockBlobsFull.add(1, { ...strategyAttributes, [Attributes.OK]: false });
421
+ }
422
+
388
423
  // Record strategy-specific inclusion result
389
424
  if (strategyResult.wouldBeIncluded !== undefined) {
390
425
  if (strategyResult.wouldBeIncluded) {