@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
20 lines • 1.2 kB
TypeScript
import { Metrics } from "../../metrics/metrics.js";
import { JobItemQueue } from "../../util/queue/index.js";
import type { BeaconChain } from "../chain.js";
import { PayloadEnvelopeInput } from "../seenCache/seenPayloadEnvelopeInput.js";
import { ImportPayloadOpts } from "./types.js";
/**
* PayloadEnvelopeProcessor processes payload envelope jobs in a queued fashion, one after the other.
*
* Jobs are enqueued only on envelope arrival (gossip or API). The envelope may reach us before
* the sampled data columns; importExecutionPayload awaits `verifyPayloadsDataAvailability`
* internally, so a queued job can pend for up to `PAYLOAD_DATA_AVAILABILITY_TIMEOUT` while
* waiting for columns. Duplicate triggers for the same payloadInput are deduped via `importStatus`.
*/
export declare class PayloadEnvelopeProcessor {
readonly jobQueue: JobItemQueue<[PayloadEnvelopeInput, ImportPayloadOpts], void>;
private readonly importStatus;
constructor(chain: BeaconChain, metrics: Metrics | null, signal: AbortSignal);
processPayloadEnvelopeJob(payloadInput: PayloadEnvelopeInput, opts?: ImportPayloadOpts): Promise<void>;
}
//# sourceMappingURL=payloadEnvelopeProcessor.d.ts.map