@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.
- package/dest/block/l2_block_source.d.ts +15 -1
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +25 -3
- package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint_reexecution_tracker.js +22 -1
- package/dest/snapshots/download.d.ts +2 -2
- package/dest/snapshots/download.d.ts.map +1 -1
- package/dest/snapshots/download.js +7 -2
- package/dest/snapshots/index.d.ts +2 -2
- package/dest/snapshots/index.d.ts.map +1 -1
- package/dest/snapshots/index.js +1 -1
- package/dest/validators/schemas.d.ts +15 -1
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +2 -0
- package/dest/validators/types.d.ts +10 -4
- package/dest/validators/types.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/block/l2_block_source.ts +15 -0
- package/src/checkpoint/checkpoint_reexecution_tracker.ts +48 -2
- package/src/snapshots/download.ts +27 -19
- package/src/snapshots/index.ts +7 -1
- package/src/validators/schemas.ts +2 -0
- package/src/validators/types.ts +10 -2
|
@@ -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":"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"}
|
|
@@ -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,
|
|
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;
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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.
|
|
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,
|
|
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,
|
|
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"}
|
package/dest/snapshots/index.js
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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.
|
|
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.
|
|
96
|
-
"@aztec-foundation/noir-noirc_abi": "6.0.0-rc.
|
|
97
|
-
"@aztec-labs/blob-lib": "6.0.0-nightly.
|
|
98
|
-
"@aztec-labs/constants": "6.0.0-nightly.
|
|
99
|
-
"@aztec-labs/ethereum": "6.0.0-nightly.
|
|
100
|
-
"@aztec-labs/foundation": "6.0.0-nightly.
|
|
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.
|
|
100
|
-
getEntries(localPaths)
|
|
101
|
-
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
const tmpPath = `${path}.download`;
|
|
107
|
+
try {
|
|
108
|
+
const url = snapshot.dataUrls[key];
|
|
109
|
+
await store.download(url, tmpPath);
|
|
107
110
|
|
|
108
|
-
|
|
111
|
+
const isGzip = await detectGzip(tmpPath);
|
|
109
112
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
}
|
|
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
|
}
|
package/src/snapshots/index.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export * from './types.js';
|
|
2
2
|
export * from './upload.js';
|
|
3
|
-
export {
|
|
3
|
+
export {
|
|
4
|
+
getBasePath,
|
|
5
|
+
downloadSnapshot,
|
|
6
|
+
getSnapshotIndex,
|
|
7
|
+
getLatestSnapshotMetadata,
|
|
8
|
+
makeSnapshotPaths,
|
|
9
|
+
} from './download.js';
|
package/src/validators/types.ts
CHANGED
|
@@ -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
|
|
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'
|