UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

30 lines 1.37 kB
import { CachedBeaconStateAllForks } from "@lodestar/state-transition"; import { SignedBeaconBlock } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { Metrics } from "../../metrics/metrics.js"; import { IBlsVerifier } from "../bls/index.js"; import { ImportBlockOpts } from "./types.js"; /** * Verifies 1 or more block's signatures from a group of blocks in the same epoch. * getBlockSignatureSets() guarantees to return the correct signingRoots as long as all blocks belong in the same * epoch as `preState0`. Otherwise the shufflings won't be correct. * * Since all data is known in advance all signatures are verified at once in parallel. */ export declare function verifyBlocksSignatures(bls: IBlsVerifier, logger: Logger, metrics: Metrics | null, preState0: CachedBeaconStateAllForks, blocks: SignedBeaconBlock[], opts: ImportBlockOpts): Promise<{ verifySignaturesTime: number; }>; type AllValidRes = { allValid: true; } | { allValid: false; index: number; }; /** * From an array of promises that resolve a boolean isValid * - if all valid, await all and return * - if one invalid, abort immediately and return index of invalid */ export declare function rejectFirstInvalidResolveAllValid(isValidPromises: Promise<boolean>[]): Promise<AllValidRes>; export {}; //# sourceMappingURL=verifyBlocksSignatures.d.ts.map