UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

29 lines 1.55 kB
import { ProtoBlock } from "@lodestar/fork-choice"; import { DataAvailabilityStatus, IBeaconStateView } from "@lodestar/state-transition"; import { IndexedAttestation, Slot } from "@lodestar/types"; import type { BeaconChain } from "../chain.js"; import { BlockProcessOpts } from "../options.js"; import { IBlockInput } from "./blockInput/index.js"; import { PayloadEnvelopeInput } from "./payloadEnvelopeInput/payloadEnvelopeInput.js"; import { 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, blockInputs: IBlockInput[], payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null, opts: BlockProcessOpts & ImportBlockOpts): Promise<{ postStates: IBeaconStateView[]; proposerBalanceDeltas: number[]; segmentExecStatus: SegmentExecStatus; blockDAStatuses: DataAvailabilityStatus[]; payloadDAStatuses: Map<Slot, DataAvailabilityStatus>; indexedAttestationsByBlock: IndexedAttestation[][]; }>; //# sourceMappingURL=verifyBlock.d.ts.map