UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

36 lines 1.64 kB
import { ChainForkConfig } from "@lodestar/config"; import { CachedBeaconStateAllForks } from "@lodestar/state-transition"; import { Slot } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { Metrics } from "../metrics/index.js"; import { IBeaconChain } from "./interface.js"; export declare const SCHEDULER_LOOKAHEAD_FACTOR = 3; /** * At Bellatrix, if we are responsible for proposing in next slot, we want to prepare payload * 4s (1/3 slot) before the start of next slot * * For all forks, when clock is 1/3 slot before an epoch, we want to prepare for the next epoch * transition from our head so that: * + validators vote for block head on time through attestation * + validators propose blocks on time * + For Bellatrix, to compute proposers of next epoch so that we can prepare new payloads * */ export declare class PrepareNextSlotScheduler { private readonly chain; private readonly config; private readonly metrics; private readonly logger; private readonly signal; constructor(chain: IBeaconChain, config: ChainForkConfig, metrics: Metrics | null, logger: Logger, signal: AbortSignal); /** * Use clockSlot instead of clockEpoch to schedule the task at more exact time. */ prepareForNextSlot: (clockSlot: Slot) => Promise<void>; computeStateHashTreeRoot(state: CachedBeaconStateAllForks, isEpochTransition: boolean): void; /** * Stop eth1 data polling after eth1_deposit_index has reached deposit_requests_start_index in Electra as described in EIP-6110 */ stopEth1Polling(): void; } //# sourceMappingURL=prepareNextSlot.d.ts.map