@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
24 lines (20 loc) • 909 B
text/typescript
import {PeerId} from "@libp2p/interface";
import {Root} from "@lodestar/types";
import {LodestarError} from "@lodestar/utils";
export enum BackfillSyncErrorCode {
/** fetched block doesn't connect to anchor block */
NOT_ANCHORED = "not_anchored",
/** fetched blocks are not linear */
NOT_LINEAR = "not_linear",
/** peer doesn't have required block by root */
MISSING_BLOCK = "missing_blocks",
INVALID_SIGNATURE = "invalid_proposer_signature",
INTERNAL_ERROR = "backfill_internal_error",
}
export type BackfillSyncErrorType =
| {code: BackfillSyncErrorCode.NOT_ANCHORED}
| {code: BackfillSyncErrorCode.NOT_LINEAR}
| {code: BackfillSyncErrorCode.INVALID_SIGNATURE}
| {code: BackfillSyncErrorCode.MISSING_BLOCK; root: Root; peerId: PeerId}
| {code: BackfillSyncErrorCode.INTERNAL_ERROR; reason: string};
export class BackfillSyncError extends LodestarError<BackfillSyncErrorType> {}