@lodestar/beacon-node
Version:
A Typescript implementation of the beacon chain
45 lines • 1.64 kB
TypeScript
import { PublicKey } from "@chainsafe/blst";
import { ISignatureSet } from "@lodestar/state-transition";
import { Metrics } from "../../../metrics/metrics.js";
import { LinkedList } from "../../../util/array.js";
import { VerifySignatureOpts } from "../interface.js";
import { BlsWorkReq } from "./types.js";
export type JobQueueItem = JobQueueItemDefault | JobQueueItemSameMessage;
export type JobQueueItemDefault = {
type: JobQueueItemType.default;
resolve: (result: boolean) => void;
reject: (error?: Error) => void;
addedTimeMs: number;
opts: VerifySignatureOpts;
sets: ISignatureSet[];
};
export type JobQueueItemSameMessage = {
type: JobQueueItemType.sameMessage;
resolve: (result: boolean[]) => void;
reject: (error?: Error) => void;
addedTimeMs: number;
opts: VerifySignatureOpts;
sets: {
publicKey: PublicKey;
signature: Uint8Array;
}[];
message: Uint8Array;
};
export declare enum JobQueueItemType {
default = "default",
sameMessage = "same_message"
}
/**
* Return count of signature sets from a JobQueueItem
*/
export declare function jobItemSigSets(job: JobQueueItem): number;
/**
* Prepare BlsWorkReq from JobQueueItem
* WARNING: May throw with untrusted user input
*/
export declare function jobItemWorkReq(job: JobQueueItem, metrics: Metrics | null): Promise<BlsWorkReq>;
/**
* Convert a JobQueueItemSameMessage into multiple JobQueueItemDefault linked to the original promise
*/
export declare function jobItemSameMessageToMultiSet(job: JobQueueItemSameMessage): LinkedList<JobQueueItemDefault>;
//# sourceMappingURL=jobItem.d.ts.map