@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
62 lines • 1.99 kB
TypeScript
import { LoggerNode } from "@lodestar/logger/node";
import { Checkpoint } from "@lodestar/types/phase0";
import { IBeaconDb } from "../../db/index.js";
import { Metrics } from "../../metrics/metrics.js";
import { IBeaconChain } from "../interface.js";
import { ArchiveStoreOpts } from "./interface.js";
type ArchiveStoreModules = {
chain: IBeaconChain;
db: IBeaconDb;
logger: LoggerNode;
metrics: Metrics | null;
};
type ArchiveStoreInitOpts = ArchiveStoreOpts & {
dbName: string;
anchorState: {
finalizedCheckpoint: Checkpoint;
};
};
export declare enum ArchiveStoreTask {
ArchiveBlocks = "archive_blocks",
PruneHistory = "prune_history",
OnFinalizedCheckpoint = "on_finalized_checkpoint",
MaybeArchiveState = "maybe_archive_state",
RegenPruneOnFinalized = "regen_prune_on_finalized",
ForkchoicePrune = "forkchoice_prune",
UpdateBackfillRange = "update_backfill_range"
}
/**
* Used for running tasks that depends on some events or are executed
* periodically.
*/
export declare class ArchiveStore {
private archiveMode;
private jobQueue;
private archiveDataEpochs?;
private readonly statesArchiverStrategy;
private readonly chain;
private readonly db;
private readonly logger;
private readonly metrics;
private readonly opts;
private readonly signal;
private historicalStateRegen?;
constructor(modules: ArchiveStoreModules, opts: ArchiveStoreInitOpts, signal: AbortSignal);
init(): Promise<void>;
close(): Promise<void>;
scrapeMetrics(): Promise<string>;
getHistoricalStateBySlot(slot: number): Promise<{
state: Uint8Array;
executionOptimistic: boolean;
finalized: boolean;
} | null>;
/**
* Archive latest finalized state
* */
persistToDisk(): Promise<void>;
private onFinalizedCheckpoint;
private onCheckpoint;
private processFinalizedCheckpoint;
}
export {};
//# sourceMappingURL=archiveStore.d.ts.map