UNPKG

@lodestar/beacon-node

Version:

A Typescript implementation of the beacon chain

46 lines 2.38 kB
import { CachedBeaconStateAllForks } from "@lodestar/state-transition"; import { Root } from "@lodestar/types"; import { Eth1DepositDataTrackerModules } from "./eth1DepositDataTracker.js"; import { Eth1MergeBlockTrackerModules } from "./eth1MergeBlockTracker.js"; import { Eth1DataAndDeposits, IEth1ForBlockProduction, IEth1Provider, PowMergeBlock, TDProgress } from "./interface.js"; import { Eth1Options } from "./options.js"; import { Eth1Provider } from "./provider/eth1Provider.js"; export { Eth1Provider }; export type { IEth1ForBlockProduction, IEth1Provider }; export declare function initializeEth1ForBlockProduction(opts: Eth1Options, modules: Pick<Eth1DepositDataTrackerModules, "db" | "config" | "metrics" | "logger" | "signal">): IEth1ForBlockProduction; export declare class Eth1ForBlockProduction implements IEth1ForBlockProduction { private readonly eth1DepositDataTracker; private readonly eth1MergeBlockTracker; constructor(opts: Eth1Options, modules: Eth1DepositDataTrackerModules & Eth1MergeBlockTrackerModules & { eth1Provider?: IEth1Provider; }); getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits>; getTerminalPowBlock(): Promise<Root | null>; getPowBlock(powBlockHash: string): Promise<PowMergeBlock | null>; getTDProgress(): TDProgress | null; startPollingMergeBlock(): void; isPollingEth1Data(): boolean; stopPollingEth1Data(): void; } /** * Disabled version of Eth1ForBlockProduction * May produce invalid blocks by not adding new deposits and voting for the same eth1Data */ export declare class Eth1ForBlockProductionDisabled implements IEth1ForBlockProduction { /** * Returns same eth1Data as in state and no deposits * May produce invalid blocks if deposits have to be added */ getEth1DataAndDeposits(state: CachedBeaconStateAllForks): Promise<Eth1DataAndDeposits>; /** * Will miss the oportunity to propose the merge block but will still produce valid blocks */ getTerminalPowBlock(): Promise<Root | null>; /** Will not be able to validate the merge block */ getPowBlock(_powBlockHash: string): Promise<PowMergeBlock | null>; getTDProgress(): TDProgress | null; isPollingEth1Data(): boolean; startPollingMergeBlock(): void; stopPollingEth1Data(): void; } //# sourceMappingURL=index.d.ts.map