UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

47 lines 2.04 kB
import { ChainForkConfig } from "@lodestar/config"; import { IForkChoice } from "@lodestar/fork-choice"; import { Epoch, RootHex, Slot } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { IBeaconDb } from "../../../db/index.js"; import { LightClientServer } from "../../lightClient/index.js"; type CheckpointHex = { epoch: Epoch; rootHex: RootHex; }; /** * Archives finalized blocks from active bucket to archive bucket. * * Only archive blocks on the same chain to the finalized checkpoint. * Each run should move all finalized blocks to blockArhive db to make it consistent * to stateArchive, so that the node always work well when we restart. * Note that the finalized block still stay in forkchoice to check finalize checkpoint of next onBlock calls, * the next run should not reprocess finalzied block of this run. */ export declare function archiveBlocks(config: ChainForkConfig, db: IBeaconDb, forkChoice: IForkChoice, lightclientServer: LightClientServer | undefined, logger: Logger, finalizedCheckpoint: CheckpointHex, currentEpoch: Epoch, archiveBlobEpochs?: number, persistOrphanedBlocks?: boolean, persistOrphanedBlocksDir?: string): Promise<void>; /** * ``` * class SignedBeaconBlock(Container): * message: BeaconBlock [offset - 4 bytes] * signature: BLSSignature [fixed - 96 bytes] * * class BeaconBlock(Container): * slot: Slot [fixed - 8 bytes] * proposer_index: ValidatorIndex [fixed - 8 bytes] * parent_root: Root [fixed - 32 bytes] * state_root: Root * body: BeaconBlockBody * ``` * From byte: `4 + 96 + 8 + 8 = 116` * To byte: `116 + 32 = 148` */ export declare function getParentRootFromSignedBlock(bytes: Uint8Array): Uint8Array; /** * * @param blocks sequence of linear blocks, from child to ancestor. * In ProtoArray.getAllAncestorNodes child nodes are pushed first to the returned array. */ export declare function getNonCheckpointBlocks<T extends { slot: Slot; }>(blocks: T[]): T[]; export {}; //# sourceMappingURL=archiveBlocks.d.ts.map