@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
25 lines • 1.26 kB
TypeScript
import { ProtoBlock } from "@lodestar/fork-choice";
import { CachedBeaconStateAllForks, DataAvailabilityStatus } from "@lodestar/state-transition";
import type { BeaconChain } from "../chain.js";
import { BlockProcessOpts } from "../options.js";
import { BlockInput, ImportBlockOpts } from "./types.js";
import { SegmentExecStatus } from "./verifyBlocksExecutionPayloads.js";
/**
* Verifies 1 or more blocks are fully valid; from a linear sequence of blocks.
*
* To relieve the main thread signatures are verified separately in workers with chain.bls worker pool.
* In parallel it:
* - Run full state transition in sequence
* - Verify all block's signatures in parallel
* - Submit execution payloads to EL in sequence
*
* If there's an error during one of the steps, the rest are aborted with an AbortController.
*/
export declare function verifyBlocksInEpoch(this: BeaconChain, parentBlock: ProtoBlock, blocksInput: BlockInput[], opts: BlockProcessOpts & ImportBlockOpts): Promise<{
postStates: CachedBeaconStateAllForks[];
proposerBalanceDeltas: number[];
segmentExecStatus: SegmentExecStatus;
dataAvailabilityStatuses: DataAvailabilityStatus[];
availableBlockInputs: BlockInput[];
}>;
//# sourceMappingURL=verifyBlock.d.ts.map