@aztec-labs/stdlib 6.0.0-nightly.20261020 → 6.0.0-nightly.20261022

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.
@@ -282,6 +282,20 @@ export interface L2BlockSink {
282
282
  * prefix reference does not match the sink's canonical messages at the block's L1-to-L2 leaf count.
283
283
  */
284
284
  addBlock(block: L2Block, inboxPrefixRef: InboxMessagePrefixRef): Promise<void>;
285
+ /**
286
+ * Prunes the proposed blocks of a checkpoint its proposer abandoned before enclosing them in a proposed checkpoint,
287
+ * instead of leaving them on the local chain until the orphan prune notices that no checkpoint ever came. Removes
288
+ * every block after `afterBlockNumber`, the block the abandoned checkpoint built on, and notifies subscribers exactly
289
+ * as an orphan prune does.
290
+ *
291
+ * Prunes nothing when the range no longer holds the caller's blocks: when the block after `afterBlockNumber` is not
292
+ * `firstBlockHash`, or when a proposed or L1 checkpoint already covers it. Also prunes nothing when a checkpoint
293
+ * proposal for the block's slot has been received, since another proposer may still be proposing these blocks.
294
+ * @param afterBlockNumber - The parent block of the abandoned checkpoint; it and everything before it are kept.
295
+ * @param firstBlockHash - The hash of the abandoned checkpoint's first block, as the caller pushed it.
296
+ * @returns The numbers of the pruned blocks, empty when the guard left the chain untouched.
297
+ */
298
+ pruneAbandonedProposedBlocks(afterBlockNumber: BlockNumber, firstBlockHash: BlockHash): Promise<BlockNumber[]>;
285
299
  }
286
300
  /**
287
301
  * Interface for classes that can receive and store proposed (not-yet-L1-confirmed) checkpoints.
@@ -503,4 +517,4 @@ export type DescendentOfInvalidAttestationsCheckpointEvent = {
503
517
  /** Checkpoint number of the rejected ancestor. */
504
518
  ancestorCheckpointNumber: CheckpointNumber;
505
519
  };
506
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixVQUFVLEVBRVgsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUNuQixLQUFLLHNCQUFzQixFQUUzQixLQUFLLHVCQUF1QixFQUM3QixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxl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
520
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixVQUFVLEVBRVgsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUNuQixLQUFLLHNCQUFzQixFQUUzQixLQUFLLHVCQUF1QixFQUM3QixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xHLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxl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
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEhB,KAAK,WAAW,EAEhB,UAAU,EAEX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE3B,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,wBAAwB,EAAkC,MAAM,sBAAsB,CAAC;AACrG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAC;AAEpC,mFAAmF;AACnF,MAAM,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAChE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAkC,CAAC;AAE/F,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAc3D,CAAC;AAEJ,yFAAyF;AACzF,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,GAAG,EAAE,cAAc,GAAG,QAAQ,GAAG,WAAW,CAAA;CAAE,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,CAAC;AAQhH,eAAO,MAAM,qBAAqB,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAMrE,CAAC;AAWF,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAgBrE,CAAC;AAEJ,eAAO,MAAM,6BAA6B,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAYnF,CAAC;AAEJ;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAExC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAE1C;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAEvC;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACpE,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAErE;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjD;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEhF;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAExE;;;;OAIG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAE/E;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAElE;;;;;;;;;;OAUG;IACH,0BAA0B,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EACX,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAEhD;;;;OAIG;IACH,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAE7F;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAEzD;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE3D;;;OAGG;IACH,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5D;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAErC;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAEnD;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE7C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD,2CAA2C;IAC3C,gBAAgB,IAAI,OAAO,CAAC;QAAE,kBAAkB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAExD;;;OAGG;IACH,mBAAmB,IAAI,SAAS,CAAC;IAEjC,kCAAkC;IAClC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;;OAGG;IACH,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;;OAGG;IACH,+BAA+B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAErE;;;;;;;;OAQG;IACH,yBAAyB,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAAC;IAExG,oBAAoB;IACpB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAElD;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAEhE;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAExD;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/E;;;;;;;;;;;;OAYG;IACH,4BAA4B,CAAC,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAChH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,qBAAqB,CAAC,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,iBAAiB,CAAC;IAC9C,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC5E,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACxF,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACxE,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,CAAC;IAC5G,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9E,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,EAAE,CAAC,IAAI,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAC1G,CAAC,mBAAmB,CAAC,iDAAiD,CAAC,EAAE,CACvE,IAAI,EAAE,8CAA8C,KACjD,IAAI,CAAC;IACV,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACvF,CAAC,CAAC;AACH,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,yBAAyB,GAAG,eAAe,GAAG,SAAS,CAEpH;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9E,4BAA4B;AAC5B,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,kHAAkH;IAClH,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACvD,qHAAqH;IACrH,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,8DAA8D;IAC9D,iBAAiB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC3C,0GAA0G;IAC1G,sBAAsB,EAAE;QAAE,MAAM,EAAE,gBAAgB,CAAC;QAAC,EAAE,EAAE,eAAe,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,iEAAiE;IACjE,4BAA4B,EAAE,wBAAwB,CAAC;CACxD,CAAC;AAEF,4FAA4F;AAC5F,MAAM,MAAM,WAAW,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,UAAU,GAAG,UAAU,CAEvE;AAED,eAAO,MAAM,8BAA8B,IAAkC,CAAC;AAE9E,6CAA6C;AAC7C,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE,MAAM,MAAM,OAAO,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,YAAY,CAAA;CAAE,CAAC;AAErE,6BAA6B;AAC7B,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAK3E;AAED,kCAAkC;AAClC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAEvF;AAcD,oHAAoH;AACpH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAOzD;AAiBD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAG5D,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAY1D,CAAC;AAEH,oBAAY,mBAAmB;IAC7B,eAAe,oBAAoB;IACnC,qBAAqB,0BAA0B;IAC/C,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;IAC7C,qCAAqC,8BAA8B;IACnE,8BAA8B,mCAAmC;IACjE,iDAAiD,sDAAsD;IACvG,oBAAoB,yBAAyB;CAC9C;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,UAAU,EAAE,mBAAmB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,gBAAgB,EAAE,gCAAgC,CAAC;CACpD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,EAAE,CAAC;IAClB,mBAAmB,EAAE,EAAE,CAAC;IACxB,8FAA8F;IAC9F,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,mDAAmD,CAAC;IAC1D,gDAAgD;IAChD,UAAU,EAAE,cAAc,CAAC;IAC3B,uEAAuE;IACvE,mBAAmB,EAAE,EAAE,CAAC;IACxB,kDAAkD;IAClD,wBAAwB,EAAE,gBAAgB,CAAC;CAC5C,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CheckpointNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
1
+ import type { CheckpointNumber, CheckpointProposalHash, SlotNumber } from '@aztec-labs/foundation/branded-types';
2
2
  import type { Fr } from '@aztec-labs/foundation/curves/bn254';
3
3
  /**
4
4
  * Outcome of attempting to re-execute a checkpoint proposal locally.
@@ -11,6 +11,24 @@ import type { Fr } from '@aztec-labs/foundation/curves/bn254';
11
11
  * slashing but surfaced separately for telemetry.
12
12
  */
13
13
  export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
14
+ /** What the tracker recorded about the checkpoint proposal evaluated for a slot. */
15
+ export type ReexecutionRecord = {
16
+ outcome: ReexecutionOutcome;
17
+ checkpointNumber?: CheckpointNumber;
18
+ /** Archive root in the evaluated proposal. */
19
+ archiveRoot?: string;
20
+ /** Archive root of the parent checkpoint the proposal builds on, when known. */
21
+ lastArchiveRoot?: string;
22
+ /** Hash of the evaluated proposal's signed payload, which its attestations sign. */
23
+ payloadHash?: CheckpointProposalHash;
24
+ };
25
+ /** Optional details of an evaluated checkpoint proposal, beyond what identifies it. */
26
+ export type ReexecutionDetails = {
27
+ /** Archive root of the parent checkpoint the proposal builds on (the checkpoint header's `lastArchiveRoot`). */
28
+ lastArchiveRoot?: Fr;
29
+ /** Hash of the proposal's signed payload. */
30
+ payloadHash?: CheckpointProposalHash;
31
+ };
14
32
  export declare class CheckpointReexecutionTracker {
15
33
  private readonly byCheckpoint;
16
34
  private readonly bySlot;
@@ -21,8 +39,10 @@ export declare class CheckpointReexecutionTracker {
21
39
  * @param outcome - Outcome of evaluation.
22
40
  * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
23
41
  * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
42
+ * @param details - The proposal's parent archive root and payload hash, if known. They let the sentinel tell whether
43
+ * a valid proposal that never landed was built on a parent that is on L1, and count only the attestations for it.
24
44
  */
25
- recordOutcome(slot: SlotNumber, archiveRoot: Fr, outcome: ReexecutionOutcome, checkpointNumber?: CheckpointNumber): void;
45
+ recordOutcome(slot: SlotNumber, archiveRoot: Fr, outcome: ReexecutionOutcome, checkpointNumber?: CheckpointNumber, details?: ReexecutionDetails): void;
26
46
  /**
27
47
  * Record whether the local node successfully collected the transactions for a block proposal.
28
48
  * Called from the validator's proposal handler immediately after tx collection completes
@@ -51,6 +71,8 @@ export declare class CheckpointReexecutionTracker {
51
71
  hasReexecuted(checkpointNumber: CheckpointNumber, archiveRoot: Fr): boolean;
52
72
  /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */
53
73
  getOutcomeForSlot(slot: SlotNumber): ReexecutionOutcome | undefined;
74
+ /** Returns the full record of the proposal evaluated for a slot, or undefined if none was evaluated. */
75
+ getRecordForSlot(slot: SlotNumber): ReexecutionRecord | undefined;
54
76
  /**
55
77
  * Whether this slot's recorded outcome is `valid` *and* was recorded for this archive root.
56
78
  *
@@ -75,4 +97,4 @@ export declare class CheckpointReexecutionTracker {
75
97
  /** Drops entries for checkpoints with `number < checkpointNumber`. */
76
98
  removeBefore(checkpointNumber: CheckpointNumber): void;
77
99
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yZWV4ZWN1dGlvbl90cmFja2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X3JlZXhlY3V0aW9uX3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBZ0NyRSxxQkFBYSw0QkFBNEI7SUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQW1EO0lBQ2hGLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFnQztJQUV2RDs7Ozs7OztPQU9HO0lBQ0ksYUFBYSxDQUNsQixJQUFJLEVBQUUsVUFBVSxFQUNoQixXQUFXLEVBQUUsRUFBRSxFQUNmLE9BQU8sRUFBRSxrQkFBa0IsRUFDM0IsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsR0FDbEMsSUFBSSxDQXdCTjtJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBY25HO0lBRUQ7Ozs7T0FJRztJQUNJLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxDQWNoRDtJQUVELHlFQUF5RTtJQUNsRSxlQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBRWhEO0lBRUQ7OztPQUdHO0lBQ0ksYUFBYSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUVqRjtJQUVELGdHQUFnRztJQUN6RixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLGtCQUFrQixHQUFHLFNBQVMsQ0FFekU7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBR3hFO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0kscUJBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FFakc7SUFFRCxzRUFBc0U7SUFDL0QsWUFBWSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLElBQUksQ0E0QjVEO0NBQ0YifQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yZWV4ZWN1dGlvbl90cmFja2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X3JlZXhlY3V0aW9uX3RyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDakgsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFOUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsYUFBYSxDQUFDO0FBRXJFLG9GQUFvRjtBQUNwRixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsT0FBTyxFQUFFLGtCQUFrQixDQUFDO0lBQzVCLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFDcEMsOENBQThDO0lBQzlDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixnRkFBZ0Y7SUFDaEYsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLG9GQUFvRjtJQUNwRixXQUFXLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztDQUN0QyxDQUFDO0FBRUYsdUZBQXVGO0FBQ3ZGLE1BQU0sTUFBTSxrQkFBa0IsR0FBRztJQUMvQixnSEFBZ0g7SUFDaEgsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3JCLDZDQUE2QztJQUM3QyxXQUFXLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztDQUN0QyxDQUFDO0FBa0NGLHFCQUFhLDRCQUE0QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBbUQ7SUFDaEYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQWdDO0lBRXZEOzs7Ozs7Ozs7T0FTRztJQUNJLGFBQWEsQ0FDbEIsSUFBSSxFQUFFLFVBQVUsRUFDaEIsV0FBVyxFQUFFLEVBQUUsRUFDZixPQUFPLEVBQUUsa0JBQWtCLEVBQzNCLGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLEVBQ25DLE9BQU8sR0FBRSxrQkFBdUIsR0FDL0IsSUFBSSxDQTBCTjtJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksa0JBQWtCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBZ0JuRztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLElBQUksQ0FnQmhEO0lBRUQseUVBQXlFO0lBQ2xFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFaEQ7SUFFRDs7O09BR0c7SUFDSSxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBRWpGO0lBRUQsZ0dBQWdHO0lBQ3pGLGlCQUFpQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsa0JBQWtCLEdBQUcsU0FBUyxDQUV6RTtJQUVELHdHQUF3RztJQUNqRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixHQUFHLFNBQVMsQ0FZdkU7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHNCQUFzQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBR3hFO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0kscUJBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FFakc7SUFFRCxzRUFBc0U7SUFDL0QsWUFBWSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLElBQUksQ0E0QjVEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_reexecution_tracker.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_reexecution_tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAgCrE,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;IAChF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD;;;;;;;OAOG;IACI,aAAa,CAClB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,EAAE,EACf,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,IAAI,CAwBN;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAcnG;IAED;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAchD;IAED,yEAAyE;IAClE,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEhD;IAED;;;OAGG;IACI,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAEjF;IAED,gGAAgG;IACzF,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAEzE;IAED;;;;;;;;OAQG;IACI,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAGxE;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEjG;IAED,sEAAsE;IAC/D,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CA4B5D;CACF"}
1
+ {"version":3,"file":"checkpoint_reexecution_tracker.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_reexecution_tracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACjH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAErE,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gHAAgH;IAChH,eAAe,CAAC,EAAE,EAAE,CAAC;IACrB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC,CAAC;AAkCF,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmD;IAChF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IAEvD;;;;;;;;;OASG;IACI,aAAa,CAClB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,EAAE,EACf,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA0BN;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAgBnG;IAED;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAgBhD;IAED,yEAAyE;IAClE,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEhD;IAED;;;OAGG;IACI,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAEjF;IAED,gGAAgG;IACzF,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAEzE;IAED,wGAAwG;IACjG,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,GAAG,SAAS,CAYvE;IAED;;;;;;;;OAQG;IACI,sBAAsB,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAGxE;IAED;;;;;;;;;OASG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEjG;IAED,sEAAsE;IAC/D,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CA4B5D;CACF"}
@@ -8,13 +8,17 @@ export class CheckpointReexecutionTracker {
8
8
  * @param outcome - Outcome of evaluation.
9
9
  * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
10
10
  * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
11
- */ recordOutcome(slot, archiveRoot, outcome, checkpointNumber) {
11
+ * @param details - The proposal's parent archive root and payload hash, if known. They let the sentinel tell whether
12
+ * a valid proposal that never landed was built on a parent that is on L1, and count only the attestations for it.
13
+ */ recordOutcome(slot, archiveRoot, outcome, checkpointNumber, details = {}) {
12
14
  const archiveRootStr = archiveRoot.toString();
13
15
  // Preserve any per-block txsCollected already accumulated for this slot.
14
16
  const existing = this.bySlot.get(slot);
15
17
  const entry = {
16
18
  checkpointNumber,
17
19
  archiveRoot: archiveRootStr,
20
+ lastArchiveRoot: details.lastArchiveRoot?.toString(),
21
+ payloadHash: details.payloadHash,
18
22
  slot,
19
23
  outcome,
20
24
  txsCollected: existing?.txsCollected ?? new Map(),
@@ -47,6 +51,8 @@ export class CheckpointReexecutionTracker {
47
51
  entry = {
48
52
  checkpointNumber: undefined,
49
53
  archiveRoot: undefined,
54
+ lastArchiveRoot: undefined,
55
+ payloadHash: undefined,
50
56
  slot,
51
57
  outcome: undefined,
52
58
  txsCollected: new Map(),
@@ -66,6 +72,8 @@ export class CheckpointReexecutionTracker {
66
72
  this.bySlot.set(slot, {
67
73
  checkpointNumber: undefined,
68
74
  archiveRoot: undefined,
75
+ lastArchiveRoot: undefined,
76
+ payloadHash: undefined,
69
77
  slot,
70
78
  outcome: undefined,
71
79
  txsCollected: new Map(),
@@ -87,6 +95,19 @@ export class CheckpointReexecutionTracker {
87
95
  /** Returns the recorded outcome for a given slot, or undefined if no proposal was evaluated. */ getOutcomeForSlot(slot) {
88
96
  return this.bySlot.get(slot)?.outcome;
89
97
  }
98
+ /** Returns the full record of the proposal evaluated for a slot, or undefined if none was evaluated. */ getRecordForSlot(slot) {
99
+ const entry = this.bySlot.get(slot);
100
+ if (entry?.outcome === undefined) {
101
+ return undefined;
102
+ }
103
+ return {
104
+ outcome: entry.outcome,
105
+ checkpointNumber: entry.checkpointNumber,
106
+ archiveRoot: entry.archiveRoot,
107
+ lastArchiveRoot: entry.lastArchiveRoot,
108
+ payloadHash: entry.payloadHash
109
+ };
110
+ }
90
111
  /**
91
112
  * Whether this slot's recorded outcome is `valid` *and* was recorded for this archive root.
92
113
  *
@@ -5,5 +5,5 @@ export declare function getLatestSnapshotMetadata(metadata: SnapshotsIndexMetada
5
5
  export declare function getBasePath(metadata: SnapshotsIndexMetadata): string;
6
6
  export declare function getSnapshotIndexPath(metadata: SnapshotsIndexMetadata): string;
7
7
  export declare function makeSnapshotPaths(baseDir: string): SnapshotDataUrls;
8
- export declare function downloadSnapshot(snapshot: Pick<SnapshotMetadata, 'dataUrls'>, localPaths: Record<SnapshotDataKeys, string>, store: ReadOnlyFileStore): Promise<void>;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbmFwc2hvdHMvZG93bmxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVF2RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssY0FBYyxFQUNuQixLQUFLLHNCQUFzQixFQUU1QixNQUFNLFlBQVksQ0FBQztBQUVwQix3QkFBc0IsZ0JBQWdCLENBQ3BDLFFBQVEsRUFBRSxzQkFBc0IsRUFDaEMsS0FBSyxFQUFFLGlCQUFpQixHQUN2QixPQUFPLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQWNyQztBQUVELHdCQUFzQix5QkFBeUIsQ0FDN0MsUUFBUSxFQUFFLHNCQUFzQixFQUNoQyxLQUFLLEVBQUUsaUJBQWlCLEdBQ3ZCLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FHdkM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsR0FBRyxNQUFNLENBRXBFO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxzQkFBc0IsR0FBRyxNQUFNLENBRTdFO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBR25FO0FBb0NELHdCQUFzQixnQkFBZ0IsQ0FDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFDNUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsRUFDNUMsS0FBSyxFQUFFLGlCQUFpQixHQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLENBeUJmIn0=
8
+ export declare function downloadSnapshot(snapshot: Pick<SnapshotMetadata, 'dataUrls'>, localPaths: Record<SnapshotDataKeys, string>, store: ReadOnlyFileStore, keys?: readonly SnapshotDataKeys[]): Promise<void>;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbmFwc2hvdHMvZG93bmxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVF2RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssY0FBYyxFQUNuQixLQUFLLHNCQUFzQixFQUU1QixNQUFNLFlBQVksQ0FBQztBQUVwQix3QkFBc0IsZ0JBQWdCLENBQ3BDLFFBQVEsRUFBRSxzQkFBc0IsRUFDaEMsS0FBSyxFQUFFLGlCQUFpQixHQUN2QixPQUFPLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxDQWNyQztBQUVELHdCQUFzQix5QkFBeUIsQ0FDN0MsUUFBUSxFQUFFLHNCQUFzQixFQUNoQyxLQUFLLEVBQUUsaUJBQWlCLEdBQ3ZCLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FHdkM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsR0FBRyxNQUFNLENBRXBFO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxzQkFBc0IsR0FBRyxNQUFNLENBRTdFO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBR25FO0FBb0NELHdCQUFzQixnQkFBZ0IsQ0FDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsRUFDNUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsRUFDNUMsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixJQUFJLEdBQUUsU0FBUyxnQkFBZ0IsRUFBcUIsR0FDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWdDZiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/snapshots/download.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE5B,MAAM,YAAY,CAAC;AAEpB,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAcrC;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGvC;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAGnE;AAoCD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC5C,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAC5C,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/snapshots/download.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAE5B,MAAM,YAAY,CAAC;AAEpB,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAcrC;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGvC;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAGnE;AAoCD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC5C,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAC5C,KAAK,EAAE,iBAAiB,EACxB,IAAI,GAAE,SAAS,gBAAgB,EAAqB,GACnD,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -69,8 +69,8 @@ async function detectGzip(localFilePathToPeek) {
69
69
  return false;
70
70
  }
71
71
  }
72
- export async function downloadSnapshot(snapshot, localPaths, store) {
73
- await Promise.all(getEntries(localPaths).map(async ([key, path])=>{
72
+ export async function downloadSnapshot(snapshot, localPaths, store, keys = SnapshotDataKeys) {
73
+ const results = await Promise.allSettled(getEntries(localPaths).filter(([key])=>keys.includes(key)).map(async ([key, path])=>{
74
74
  await fs.mkdir(pathMod.dirname(path), {
75
75
  recursive: true
76
76
  });
@@ -91,4 +91,9 @@ export async function downloadSnapshot(snapshot, localPaths, store) {
91
91
  await fs.unlink(tmpPath).catch(()=>undefined);
92
92
  }
93
93
  }));
94
+ for (const result of results){
95
+ if (result.status === 'rejected') {
96
+ throw result.reason;
97
+ }
98
+ }
94
99
  }
@@ -1,4 +1,4 @@
1
1
  export * from './types.js';
2
2
  export * from './upload.js';
3
- export { getBasePath, downloadSnapshot, getLatestSnapshotMetadata, makeSnapshotPaths } from './download.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbmFwc2hvdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyJ9
3
+ export { getBasePath, downloadSnapshot, getSnapshotIndex, getLatestSnapshotMetadata, makeSnapshotPaths, } from './download.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zbmFwc2hvdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshots/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/snapshots/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,eAAe,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export * from './types.js';
2
2
  export * from './upload.js';
3
- export { getBasePath, downloadSnapshot, getLatestSnapshotMetadata, makeSnapshotPaths } from './download.js';
3
+ export { getBasePath, downloadSnapshot, getSnapshotIndex, getLatestSnapshotMetadata, makeSnapshotPaths } from './download.js';
@@ -6,6 +6,8 @@ export declare const ValidatorStatusInSlotSchema: z.ZodEnum<{
6
6
  "checkpoint-invalid": "checkpoint-invalid";
7
7
  "checkpoint-mined": "checkpoint-mined";
8
8
  "checkpoint-missed": "checkpoint-missed";
9
+ "checkpoint-orphaned": "checkpoint-orphaned";
10
+ "checkpoint-unpublished": "checkpoint-unpublished";
9
11
  "checkpoint-unvalidated": "checkpoint-unvalidated";
10
12
  "checkpoint-valid": "checkpoint-valid";
11
13
  }>;
@@ -18,6 +20,8 @@ export declare const ValidatorStatusHistorySchema: z.ZodArray<z.ZodObject<{
18
20
  "checkpoint-invalid": "checkpoint-invalid";
19
21
  "checkpoint-mined": "checkpoint-mined";
20
22
  "checkpoint-missed": "checkpoint-missed";
23
+ "checkpoint-orphaned": "checkpoint-orphaned";
24
+ "checkpoint-unpublished": "checkpoint-unpublished";
21
25
  "checkpoint-unvalidated": "checkpoint-unvalidated";
22
26
  "checkpoint-valid": "checkpoint-valid";
23
27
  }>;
@@ -31,6 +35,8 @@ export declare const ValidatorStatusHistorySchemaArray: z.ZodArray<z.ZodArray<z.
31
35
  "checkpoint-invalid": "checkpoint-invalid";
32
36
  "checkpoint-mined": "checkpoint-mined";
33
37
  "checkpoint-missed": "checkpoint-missed";
38
+ "checkpoint-orphaned": "checkpoint-orphaned";
39
+ "checkpoint-unpublished": "checkpoint-unpublished";
34
40
  "checkpoint-unvalidated": "checkpoint-unvalidated";
35
41
  "checkpoint-valid": "checkpoint-valid";
36
42
  }>;
@@ -44,6 +50,8 @@ export declare const ValidatorStatusHistorySchemaMap: z.ZodRecord<z.ZodString, z
44
50
  "checkpoint-invalid": "checkpoint-invalid";
45
51
  "checkpoint-mined": "checkpoint-mined";
46
52
  "checkpoint-missed": "checkpoint-missed";
53
+ "checkpoint-orphaned": "checkpoint-orphaned";
54
+ "checkpoint-unpublished": "checkpoint-unpublished";
47
55
  "checkpoint-unvalidated": "checkpoint-unvalidated";
48
56
  "checkpoint-valid": "checkpoint-valid";
49
57
  }>;
@@ -82,6 +90,8 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
82
90
  "checkpoint-invalid": "checkpoint-invalid";
83
91
  "checkpoint-mined": "checkpoint-mined";
84
92
  "checkpoint-missed": "checkpoint-missed";
93
+ "checkpoint-orphaned": "checkpoint-orphaned";
94
+ "checkpoint-unpublished": "checkpoint-unpublished";
85
95
  "checkpoint-unvalidated": "checkpoint-unvalidated";
86
96
  "checkpoint-valid": "checkpoint-valid";
87
97
  }>;
@@ -122,6 +132,8 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
122
132
  "checkpoint-invalid": "checkpoint-invalid";
123
133
  "checkpoint-mined": "checkpoint-mined";
124
134
  "checkpoint-missed": "checkpoint-missed";
135
+ "checkpoint-orphaned": "checkpoint-orphaned";
136
+ "checkpoint-unpublished": "checkpoint-unpublished";
125
137
  "checkpoint-unvalidated": "checkpoint-unvalidated";
126
138
  "checkpoint-valid": "checkpoint-valid";
127
139
  }>;
@@ -166,6 +178,8 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
166
178
  "checkpoint-invalid": "checkpoint-invalid";
167
179
  "checkpoint-mined": "checkpoint-mined";
168
180
  "checkpoint-missed": "checkpoint-missed";
181
+ "checkpoint-orphaned": "checkpoint-orphaned";
182
+ "checkpoint-unpublished": "checkpoint-unpublished";
169
183
  "checkpoint-unvalidated": "checkpoint-unvalidated";
170
184
  "checkpoint-valid": "checkpoint-valid";
171
185
  }>;
@@ -180,4 +194,4 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
180
194
  initialSlot: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<import("@aztec-labs/foundation/schemas").SlotNumber, number>>>;
181
195
  slotWindow: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
182
196
  }, z.core.$strip>;
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBV3hCLGVBQU8sTUFBTSwyQkFBMkI7Ozs7Ozs7OztFQVd2QyxDQUFDO0FBRUYsZUFBTyxNQUFNLDRCQUE0Qjs7Ozs7Ozs7Ozs7O2tCQU94QyxDQUFDO0FBRUYsZUFBTyxNQUFNLGlDQUFpQzs7Ozs7Ozs7Ozs7O21CQUF3QyxDQUFDO0FBRXZGLGVBQU8sTUFBTSwrQkFBK0I7Ozs7Ozs7Ozs7OztvQkFBMEQsQ0FBQztBQWlCdkcsZUFBTyxNQUFNLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBVWhDLENBQUM7QUFFRixlQUFPLE1BQU0scUJBQXFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQU9qQyxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWN0QyxDQUFDIn0=
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBV3hCLGVBQU8sTUFBTSwyQkFBMkI7Ozs7Ozs7Ozs7O0VBYXZDLENBQUM7QUFFRixlQUFPLE1BQU0sNEJBQTRCOzs7Ozs7Ozs7Ozs7OztrQkFPeEMsQ0FBQztBQUVGLGVBQU8sTUFBTSxpQ0FBaUM7Ozs7Ozs7Ozs7Ozs7O21CQUF3QyxDQUFDO0FBRXZGLGVBQU8sTUFBTSwrQkFBK0I7Ozs7Ozs7Ozs7Ozs7O29CQUEwRCxDQUFDO0FBaUJ2RyxlQUFPLE1BQU0sb0JBQW9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQVVoQyxDQUFDO0FBRUYsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQU9qQyxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBY3RDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validators/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,2BAA2B;;;;;;;;;EAWvC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;kBAOxC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;mBAAwC,CAAC;AAEvF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;oBAA0D,CAAC;AAiBvG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBActC,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validators/schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;EAavC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;kBAOxC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;mBAAwC,CAAC;AAEvF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;oBAA0D,CAAC;AAiBvG,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBActC,CAAC"}
@@ -2,6 +2,8 @@ import { schemas, zodFor } from '@aztec-labs/foundation/schemas';
2
2
  import { z } from 'zod';
3
3
  export const ValidatorStatusInSlotSchema = zodFor()(z.enum([
4
4
  'checkpoint-mined',
5
+ 'checkpoint-unpublished',
6
+ 'checkpoint-orphaned',
5
7
  'checkpoint-valid',
6
8
  'checkpoint-invalid',
7
9
  'checkpoint-unvalidated',
@@ -4,13 +4,19 @@ export type ValidatorStatusType = 'proposer' | 'attestation';
4
4
  /**
5
5
  * Per-slot status for a validator.
6
6
  *
7
- * Proposer statuses (six-case taxonomy):
7
+ * Proposer statuses (six-case taxonomy, with case 5 refined into 5a and 5b):
8
8
  * - `blocks-missed` — no block proposals seen for the slot (case 1).
9
9
  * - `checkpoint-missed` — block proposals seen but no checkpoint proposal (case 2).
10
10
  * - `checkpoint-unvalidated` — checkpoint proposal seen but local re-execution couldn't
11
11
  * validate (missing txs, timeouts, etc.) (case 3).
12
12
  * - `checkpoint-invalid` — checkpoint proposal re-executed and rejected as invalid (case 4).
13
- * - `checkpoint-valid` — checkpoint proposal re-executed locally as valid (case 5).
13
+ * - `checkpoint-valid` — checkpoint proposal re-executed locally as valid, but it did not reach L1 and
14
+ * could not be refined into 5a or 5b (e.g. below quorum, equivocation) (case 5).
15
+ * - `checkpoint-orphaned` — valid checkpoint proposal that could not land because the parent it built on never
16
+ * landed on L1, or because an earlier slot landed its checkpoint number after it reached
17
+ * quorum (case 5b).
18
+ * - `checkpoint-unpublished` — valid checkpoint proposal with its parent on L1 and a quorum of attestations,
19
+ * which the proposer still failed to land on L1 (case 5a).
14
20
  * - `checkpoint-mined` — checkpoint published on L1 (case 6).
15
21
  *
16
22
  * Attestor statuses:
@@ -18,7 +24,7 @@ export type ValidatorStatusType = 'proposer' | 'attestation';
18
24
  * - `attestation-missed` — committee member did not attest to a checkpoint proposal that
19
25
  * was observed locally or published on L1.
20
26
  */
21
- export type ValidatorStatusInSlot = 'checkpoint-mined' | 'checkpoint-valid' | 'checkpoint-invalid' | 'checkpoint-unvalidated' | 'checkpoint-missed' | 'blocks-missed' | 'attestation-sent' | 'attestation-missed';
27
+ export type ValidatorStatusInSlot = 'checkpoint-mined' | 'checkpoint-unpublished' | 'checkpoint-orphaned' | 'checkpoint-valid' | 'checkpoint-invalid' | 'checkpoint-unvalidated' | 'checkpoint-missed' | 'blocks-missed' | 'attestation-sent' | 'attestation-missed';
22
28
  export type ValidatorStatusHistory = {
23
29
  slot: SlotNumber;
24
30
  status: ValidatorStatusInSlot;
@@ -67,4 +73,4 @@ export type SingleValidatorStats = {
67
73
  initialSlot?: SlotNumber;
68
74
  slotWindow: number;
69
75
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxNQUFNLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sTUFBTSxxQkFBcUIsR0FDN0Isa0JBQWtCLEdBQ2xCLGtCQUFrQixHQUNsQixvQkFBb0IsR0FDcEIsd0JBQXdCLEdBQ3hCLG1CQUFtQixHQUNuQixlQUFlLEdBQ2Ysa0JBQWtCLEdBQ2xCLG9CQUFvQixDQUFDO0FBRXpCLE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUFFLElBQUksRUFBRSxVQUFVLENBQUM7SUFBQyxNQUFNLEVBQUUscUJBQXFCLENBQUE7Q0FBRSxFQUFFLENBQUM7QUFFM0YsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNkLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZixDQUFDO0FBRUYsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFlBQVksQ0FBQyxFQUFFO1FBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksRUFBRSxVQUFVLENBQUM7UUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUNyRSxlQUFlLENBQUMsRUFBRTtRQUFFLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFBQyxJQUFJLEVBQUUsVUFBVSxDQUFDO1FBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUM7SUFDeEUsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixlQUFlLEVBQUUsb0JBQW9CLENBQUM7SUFDdEMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUM7SUFDekMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0NBQ2pDLENBQUM7QUFFRixNQUFNLE1BQU0sZUFBZSxHQUFHO0lBQzVCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQy9CLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUM7QUFFRixNQUFNLE1BQU0sMEJBQTBCLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxFQUFFLEVBQUU7SUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtDQUFFLENBQUMsQ0FBQztBQUVsRyxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsU0FBUyxFQUFFLGNBQWMsQ0FBQztJQUMxQix1QkFBdUIsRUFBRTtRQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQTtLQUFFLEVBQUUsQ0FBQztJQUNqRixpQkFBaUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUMvQixXQUFXLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQixDQUFDIn0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxNQUFNLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sTUFBTSxxQkFBcUIsR0FDN0Isa0JBQWtCLEdBQ2xCLHdCQUF3QixHQUN4QixxQkFBcUIsR0FDckIsa0JBQWtCLEdBQ2xCLG9CQUFvQixHQUNwQix3QkFBd0IsR0FDeEIsbUJBQW1CLEdBQ25CLGVBQWUsR0FDZixrQkFBa0IsR0FDbEIsb0JBQW9CLENBQUM7QUFFekIsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQTtDQUFFLEVBQUUsQ0FBQztBQUUzRixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmLENBQUM7QUFFRixNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsWUFBWSxDQUFDLEVBQUU7UUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQztRQUFDLElBQUksRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQ3JFLGVBQWUsQ0FBQyxFQUFFO1FBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksRUFBRSxVQUFVLENBQUM7UUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUN4RSxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztJQUN0QyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQztJQUN6QyxPQUFPLEVBQUUsc0JBQXNCLENBQUM7Q0FDakMsQ0FBQztBQUVGLE1BQU0sTUFBTSxlQUFlLEdBQUc7SUFDNUIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEMsaUJBQWlCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDL0IsV0FBVyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQUUsRUFBRTtJQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLHVCQUF1QixFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsV0FBVyxDQUFBO0tBQUUsRUFBRSxDQUFDO0lBQ2pGLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQy9CLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAE3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,oBAAoB,CAAC;IACtC,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElG,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC;IACjF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,wBAAwB,GACxB,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,GACpB,wBAAwB,GACxB,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAE3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,oBAAoB,CAAC;IACtC,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElG,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,cAAc,CAAC;IAC1B,uBAAuB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC;IACjF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec-labs/stdlib",
3
- "version": "6.0.0-nightly.20261020",
3
+ "version": "6.0.0-nightly.20261022",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -92,12 +92,12 @@
92
92
  },
93
93
  "dependencies": {
94
94
  "@aws-sdk/client-s3": "^3.892.0",
95
- "@aztec-foundation/bb.js": "6.0.0-rc.6",
96
- "@aztec-foundation/noir-noirc_abi": "6.0.0-rc.6",
97
- "@aztec-labs/blob-lib": "6.0.0-nightly.20261020",
98
- "@aztec-labs/constants": "6.0.0-nightly.20261020",
99
- "@aztec-labs/ethereum": "6.0.0-nightly.20261020",
100
- "@aztec-labs/foundation": "6.0.0-nightly.20261020",
95
+ "@aztec-foundation/bb.js": "6.0.0-rc.7",
96
+ "@aztec-foundation/noir-noirc_abi": "6.0.0-rc.7",
97
+ "@aztec-labs/blob-lib": "6.0.0-nightly.20261022",
98
+ "@aztec-labs/constants": "6.0.0-nightly.20261022",
99
+ "@aztec-labs/ethereum": "6.0.0-nightly.20261022",
100
+ "@aztec-labs/foundation": "6.0.0-nightly.20261022",
101
101
  "@google-cloud/storage": "^7.15.0",
102
102
  "axios": "^1.15.1",
103
103
  "buffer": "^6.0.3",
@@ -391,6 +391,21 @@ export interface L2BlockSink {
391
391
  * prefix reference does not match the sink's canonical messages at the block's L1-to-L2 leaf count.
392
392
  */
393
393
  addBlock(block: L2Block, inboxPrefixRef: InboxMessagePrefixRef): Promise<void>;
394
+
395
+ /**
396
+ * Prunes the proposed blocks of a checkpoint its proposer abandoned before enclosing them in a proposed checkpoint,
397
+ * instead of leaving them on the local chain until the orphan prune notices that no checkpoint ever came. Removes
398
+ * every block after `afterBlockNumber`, the block the abandoned checkpoint built on, and notifies subscribers exactly
399
+ * as an orphan prune does.
400
+ *
401
+ * Prunes nothing when the range no longer holds the caller's blocks: when the block after `afterBlockNumber` is not
402
+ * `firstBlockHash`, or when a proposed or L1 checkpoint already covers it. Also prunes nothing when a checkpoint
403
+ * proposal for the block's slot has been received, since another proposer may still be proposing these blocks.
404
+ * @param afterBlockNumber - The parent block of the abandoned checkpoint; it and everything before it are kept.
405
+ * @param firstBlockHash - The hash of the abandoned checkpoint's first block, as the caller pushed it.
406
+ * @returns The numbers of the pruned blocks, empty when the guard left the chain untouched.
407
+ */
408
+ pruneAbandonedProposedBlocks(afterBlockNumber: BlockNumber, firstBlockHash: BlockHash): Promise<BlockNumber[]>;
394
409
  }
395
410
 
396
411
  /**
@@ -1,4 +1,4 @@
1
- import type { CheckpointNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
1
+ import type { CheckpointNumber, CheckpointProposalHash, SlotNumber } from '@aztec-labs/foundation/branded-types';
2
2
  import type { Fr } from '@aztec-labs/foundation/curves/bn254';
3
3
 
4
4
  /**
@@ -13,6 +13,26 @@ import type { Fr } from '@aztec-labs/foundation/curves/bn254';
13
13
  */
14
14
  export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
15
15
 
16
+ /** What the tracker recorded about the checkpoint proposal evaluated for a slot. */
17
+ export type ReexecutionRecord = {
18
+ outcome: ReexecutionOutcome;
19
+ checkpointNumber?: CheckpointNumber;
20
+ /** Archive root in the evaluated proposal. */
21
+ archiveRoot?: string;
22
+ /** Archive root of the parent checkpoint the proposal builds on, when known. */
23
+ lastArchiveRoot?: string;
24
+ /** Hash of the evaluated proposal's signed payload, which its attestations sign. */
25
+ payloadHash?: CheckpointProposalHash;
26
+ };
27
+
28
+ /** Optional details of an evaluated checkpoint proposal, beyond what identifies it. */
29
+ export type ReexecutionDetails = {
30
+ /** Archive root of the parent checkpoint the proposal builds on (the checkpoint header's `lastArchiveRoot`). */
31
+ lastArchiveRoot?: Fr;
32
+ /** Hash of the proposal's signed payload. */
33
+ payloadHash?: CheckpointProposalHash;
34
+ };
35
+
16
36
  /**
17
37
  * Tracks two pieces of per-slot state collected during proposal handling:
18
38
  *
@@ -20,7 +40,7 @@ export type ReexecutionOutcome = 'valid' | 'invalid' | 'unvalidated';
20
40
  * (keyed by `slot` + `indexWithinCheckpoint`). Consumed by the data-withholding watcher.
21
41
  * 2. The outcome of locally re-executing each checkpoint proposal (keyed by
22
42
  * `(checkpointNumber, archiveRoot)` and by `slot`). Consumed by the data-withholding
23
- * watcher (via `hasReexecuted`) and the sentinel (via `getOutcomeForSlot`).
43
+ * watcher (via `hasReexecuted`) and the sentinel (via `getOutcomeForSlot` and `getRecordForSlot`).
24
44
  *
25
45
  * Both pieces of state live on the same per-slot `Entry`, so cleanup via `removeBefore`
26
46
  * naturally drops everything for a pruned slot in one step.
@@ -30,6 +50,8 @@ interface Entry {
30
50
  // evaluated. recordTxsCollected may create an Entry before any of them are known.
31
51
  checkpointNumber: CheckpointNumber | undefined;
32
52
  archiveRoot: string | undefined;
53
+ lastArchiveRoot: string | undefined;
54
+ payloadHash: CheckpointProposalHash | undefined;
33
55
  outcome: ReexecutionOutcome | undefined;
34
56
 
35
57
  slot: SlotNumber;
@@ -54,12 +76,15 @@ export class CheckpointReexecutionTracker {
54
76
  * @param outcome - Outcome of evaluation.
55
77
  * @param checkpointNumber - Checkpoint number, if known. Required for `valid` outcomes; optional
56
78
  * for `invalid`/`unvalidated` because some early rejections fire before blocks are loaded.
79
+ * @param details - The proposal's parent archive root and payload hash, if known. They let the sentinel tell whether
80
+ * a valid proposal that never landed was built on a parent that is on L1, and count only the attestations for it.
57
81
  */
58
82
  public recordOutcome(
59
83
  slot: SlotNumber,
60
84
  archiveRoot: Fr,
61
85
  outcome: ReexecutionOutcome,
62
86
  checkpointNumber?: CheckpointNumber,
87
+ details: ReexecutionDetails = {},
63
88
  ): void {
64
89
  const archiveRootStr = archiveRoot.toString();
65
90
 
@@ -68,6 +93,8 @@ export class CheckpointReexecutionTracker {
68
93
  const entry: Entry = {
69
94
  checkpointNumber,
70
95
  archiveRoot: archiveRootStr,
96
+ lastArchiveRoot: details.lastArchiveRoot?.toString(),
97
+ payloadHash: details.payloadHash,
71
98
  slot,
72
99
  outcome,
73
100
  txsCollected: existing?.txsCollected ?? new Map(),
@@ -104,6 +131,8 @@ export class CheckpointReexecutionTracker {
104
131
  entry = {
105
132
  checkpointNumber: undefined,
106
133
  archiveRoot: undefined,
134
+ lastArchiveRoot: undefined,
135
+ payloadHash: undefined,
107
136
  slot,
108
137
  outcome: undefined,
109
138
  txsCollected: new Map(),
@@ -125,6 +154,8 @@ export class CheckpointReexecutionTracker {
125
154
  this.bySlot.set(slot, {
126
155
  checkpointNumber: undefined,
127
156
  archiveRoot: undefined,
157
+ lastArchiveRoot: undefined,
158
+ payloadHash: undefined,
128
159
  slot,
129
160
  outcome: undefined,
130
161
  txsCollected: new Map(),
@@ -153,6 +184,21 @@ export class CheckpointReexecutionTracker {
153
184
  return this.bySlot.get(slot)?.outcome;
154
185
  }
155
186
 
187
+ /** Returns the full record of the proposal evaluated for a slot, or undefined if none was evaluated. */
188
+ public getRecordForSlot(slot: SlotNumber): ReexecutionRecord | undefined {
189
+ const entry = this.bySlot.get(slot);
190
+ if (entry?.outcome === undefined) {
191
+ return undefined;
192
+ }
193
+ return {
194
+ outcome: entry.outcome,
195
+ checkpointNumber: entry.checkpointNumber,
196
+ archiveRoot: entry.archiveRoot,
197
+ lastArchiveRoot: entry.lastArchiveRoot,
198
+ payloadHash: entry.payloadHash,
199
+ };
200
+ }
201
+
156
202
  /**
157
203
  * Whether this slot's recorded outcome is `valid` *and* was recorded for this archive root.
158
204
  *
@@ -95,29 +95,37 @@ export async function downloadSnapshot(
95
95
  snapshot: Pick<SnapshotMetadata, 'dataUrls'>,
96
96
  localPaths: Record<SnapshotDataKeys, string>,
97
97
  store: ReadOnlyFileStore,
98
+ keys: readonly SnapshotDataKeys[] = SnapshotDataKeys,
98
99
  ): Promise<void> {
99
- await Promise.all(
100
- getEntries(localPaths).map(async ([key, path]) => {
101
- await fs.mkdir(pathMod.dirname(path), { recursive: true });
100
+ const results = await Promise.allSettled(
101
+ getEntries(localPaths)
102
+ .filter(([key]) => keys.includes(key))
103
+ .map(async ([key, path]) => {
104
+ await fs.mkdir(pathMod.dirname(path), { recursive: true });
102
105
 
103
- const tmpPath = `${path}.download`;
104
- try {
105
- const url = snapshot.dataUrls[key];
106
- await store.download(url, tmpPath);
106
+ const tmpPath = `${path}.download`;
107
+ try {
108
+ const url = snapshot.dataUrls[key];
109
+ await store.download(url, tmpPath);
107
110
 
108
- const isGzip = await detectGzip(tmpPath);
111
+ const isGzip = await detectGzip(tmpPath);
109
112
 
110
- const read = createReadStream(tmpPath);
111
- const write = createWriteStream(path);
112
- if (isGzip) {
113
- const gunzip = createGunzip();
114
- await pipeline(read, gunzip, write);
115
- } else {
116
- await pipeline(read, write);
113
+ const read = createReadStream(tmpPath);
114
+ const write = createWriteStream(path);
115
+ if (isGzip) {
116
+ const gunzip = createGunzip();
117
+ await pipeline(read, gunzip, write);
118
+ } else {
119
+ await pipeline(read, write);
120
+ }
121
+ } finally {
122
+ await fs.unlink(tmpPath).catch(() => undefined);
117
123
  }
118
- } finally {
119
- await fs.unlink(tmpPath).catch(() => undefined);
120
- }
121
- }),
124
+ }),
122
125
  );
126
+ for (const result of results) {
127
+ if (result.status === 'rejected') {
128
+ throw result.reason;
129
+ }
130
+ }
123
131
  }
@@ -1,3 +1,9 @@
1
1
  export * from './types.js';
2
2
  export * from './upload.js';
3
- export { getBasePath, downloadSnapshot, getLatestSnapshotMetadata, makeSnapshotPaths } from './download.js';
3
+ export {
4
+ getBasePath,
5
+ downloadSnapshot,
6
+ getSnapshotIndex,
7
+ getLatestSnapshotMetadata,
8
+ makeSnapshotPaths,
9
+ } from './download.js';
@@ -13,6 +13,8 @@ import type {
13
13
  export const ValidatorStatusInSlotSchema = zodFor<ValidatorStatusInSlot>()(
14
14
  z.enum([
15
15
  'checkpoint-mined',
16
+ 'checkpoint-unpublished',
17
+ 'checkpoint-orphaned',
16
18
  'checkpoint-valid',
17
19
  'checkpoint-invalid',
18
20
  'checkpoint-unvalidated',
@@ -6,13 +6,19 @@ export type ValidatorStatusType = 'proposer' | 'attestation';
6
6
  /**
7
7
  * Per-slot status for a validator.
8
8
  *
9
- * Proposer statuses (six-case taxonomy):
9
+ * Proposer statuses (six-case taxonomy, with case 5 refined into 5a and 5b):
10
10
  * - `blocks-missed` — no block proposals seen for the slot (case 1).
11
11
  * - `checkpoint-missed` — block proposals seen but no checkpoint proposal (case 2).
12
12
  * - `checkpoint-unvalidated` — checkpoint proposal seen but local re-execution couldn't
13
13
  * validate (missing txs, timeouts, etc.) (case 3).
14
14
  * - `checkpoint-invalid` — checkpoint proposal re-executed and rejected as invalid (case 4).
15
- * - `checkpoint-valid` — checkpoint proposal re-executed locally as valid (case 5).
15
+ * - `checkpoint-valid` — checkpoint proposal re-executed locally as valid, but it did not reach L1 and
16
+ * could not be refined into 5a or 5b (e.g. below quorum, equivocation) (case 5).
17
+ * - `checkpoint-orphaned` — valid checkpoint proposal that could not land because the parent it built on never
18
+ * landed on L1, or because an earlier slot landed its checkpoint number after it reached
19
+ * quorum (case 5b).
20
+ * - `checkpoint-unpublished` — valid checkpoint proposal with its parent on L1 and a quorum of attestations,
21
+ * which the proposer still failed to land on L1 (case 5a).
16
22
  * - `checkpoint-mined` — checkpoint published on L1 (case 6).
17
23
  *
18
24
  * Attestor statuses:
@@ -22,6 +28,8 @@ export type ValidatorStatusType = 'proposer' | 'attestation';
22
28
  */
23
29
  export type ValidatorStatusInSlot =
24
30
  | 'checkpoint-mined'
31
+ | 'checkpoint-unpublished'
32
+ | 'checkpoint-orphaned'
25
33
  | 'checkpoint-valid'
26
34
  | 'checkpoint-invalid'
27
35
  | 'checkpoint-unvalidated'