@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
35 lines • 1.35 kB
TypeScript
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