import { ApiClient, routes } from "@lodestar/api"; import { ChainForkConfig } from "@lodestar/config"; import { Metrics } from "../metrics.js"; import { PubkeyHex } from "../types.js"; import { IClock, LoggerVc } from "../util/index.js"; import { BlockDutiesService } from "./blockDuties.js"; import { ValidatorStore } from "./validatorStore.js"; type BlockProposalOpts = { broadcastValidation: routes.beacon.BroadcastValidation; blindedLocal: boolean; }; /** * Service that sets up and handles validator block proposal duties. */ export declare class BlockProposingService { private readonly config; private readonly logger; private readonly api; private readonly clock; private readonly validatorStore; private readonly metrics; private readonly opts; private readonly dutiesService; constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, dutiesService: BlockDutiesService, metrics: Metrics | null, opts: BlockProposalOpts); removeDutiesForKey(pubkey: PubkeyHex): void; /** * `BlockDutiesService` must call this fn to trigger block creation * This function may run more than once at a time, rationale in `BlockDutiesService.pollBeaconProposers` */ private notifyBlockProductionFn; private createAndPublishBlock; private createAndPublishBlockGloas; private publishBlockWrapper; private produceBlockWrapper; } export {}; //# sourceMappingURL=block.d.ts.map