@lodestar/prover
Version:
A Typescript implementation of the Ethereum Consensus light client
38 lines • 1.56 kB
TypeScript
import { Logger } from "@lodestar/logger";
import { ELRequestHandler } from "../interfaces.js";
import { ELApi, ELApiParams, ELApiReturn, JsonRpcBatchRequest, JsonRpcRequest, JsonRpcResponse, JsonRpcResponseWithResultPayload } from "../types.js";
export type Optional<T, K extends keyof T> = Omit<T, K> & {
[P in keyof T]?: T[P] | undefined;
};
export declare class ELRpcProvider {
private handler;
private logger;
private requestId;
constructor(handler: ELRequestHandler, logger: Logger);
/**
* Request the EL RPC Provider
*
* @template K
* @template E
* @param {K} method - RPC Method
* @param {ELApiParams[K]} params - RPC Params
* @param {{raiseError?: E}} [opts]
* @return {*} {Promise<E extends false ? JsonRpcResponse<ELApiReturn[K]> : JsonRpcResponseWithResultPayload<ELApiReturn[K]>>}
* @memberof ELRpc
*/
request<K extends keyof ELApi, E extends boolean>(method: K, params: ELApiParams[K], opts?: {
raiseError?: E;
}): Promise<E extends false ? JsonRpcResponse<ELApiReturn[K]> : JsonRpcResponseWithResultPayload<ELApiReturn[K]>>;
batchRequest<E extends boolean>(input: JsonRpcBatchRequest, opts: {
raiseError: E;
}): Promise<E extends false ? {
request: JsonRpcRequest;
response: JsonRpcResponse;
}[] : {
request: JsonRpcRequest;
response: JsonRpcResponseWithResultPayload<unknown>;
}[]>;
verifyCompatibility(): Promise<void>;
getRequestId(): string;
}
//# sourceMappingURL=rpc_provider.d.ts.map