UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

35 lines 1.35 kB
import { ChainForkConfig } from "@lodestar/config"; import { Logger } from "@lodestar/utils"; import { Metrics } from "../metrics/metrics.js"; import { BlockInputColumns } from "./blocks/blockInput/index.js"; import { PayloadEnvelopeInput } from "./blocks/payloadEnvelopeInput/index.js"; import { ChainEventEmitter } from "./emitter.js"; export type ColumnReconstructionTrackerInit = { logger: Logger; emitter: ChainEventEmitter; metrics: Metrics | null; config: ChainForkConfig; }; /** * Tracks column reconstruction attempts to avoid duplicate and multiple in-flight calls */ export declare class ColumnReconstructionTracker { logger: Logger; emitter: ChainEventEmitter; metrics: Metrics | null; config: ChainForkConfig; /** * Track last attempted block root * * This is sufficient to avoid duplicate calls since we only call this * function when we see a new data column sidecar from gossip. */ lastBlockRootHex: string | null; /** Track if a reconstruction attempt is in-flight */ running: boolean; private readonly minDelayMs; private readonly maxDelayMs; constructor(init: ColumnReconstructionTrackerInit); triggerColumnReconstruction(input: BlockInputColumns | PayloadEnvelopeInput): void; } //# sourceMappingURL=ColumnReconstructionTracker.d.ts.map