UNPKG

@lodestar/prover

Version:

A Typescript implementation of the Ethereum Consensus light client

38 lines 1.56 kB
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