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