UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

41 lines 1.56 kB
import { ChainForkConfig, ForkBoundary } from "@lodestar/config"; import { Epoch } from "@lodestar/types"; /** * Subscribe topics to the new fork N epochs before the fork. Remove all subscriptions N epochs after the fork * * This lookahead ensures a smooth fork transition. During `FORK_EPOCH_LOOKAHEAD` both forks will be active. * * ``` * phase0 phase0 phase0 - * - altair altair altair * |----------|----------|----------|----------| * 0 fork-2 fork fork+2 oo * ``` * * It the fork epochs are very close to each other there may more than two active at once * * ``` * f0 f0 f0 f0 f0 - * - fa fa fa fa fa - * - - fb fb fb fb fb * * forka-2 forka forka+2 * | | | | * |----------|----------|----------|----------| * 0 forkb-2 forkb forkb+2 oo * ``` */ export declare const FORK_EPOCH_LOOKAHEAD = 2; /** * Return the list of `ForkBoundary`s meant to be active at `epoch` * @see FORK_EPOCH_LOOKAHEAD for details on when fork boundaries are considered 'active' */ export declare function getActiveForkBoundaries(config: ChainForkConfig, epoch: Epoch): ForkBoundary[]; /** * Return the currentBoundary and nextBoundary given a fork/BPO schedule and `epoch` */ export declare function getCurrentAndNextForkBoundary(config: ChainForkConfig, epoch: Epoch): { currentBoundary: ForkBoundary; nextBoundary: ForkBoundary | undefined; }; //# sourceMappingURL=forks.d.ts.map