UNPKG

@lodestar/api

Version:

A Typescript REST client for the Ethereum Consensus API

40 lines (33 loc) 1.11 kB
import {ChainForkConfig} from "@lodestar/config"; import {HttpClient, HttpClientModules, HttpClientOptions, IHttpClient} from "../utils/client/index.js"; import type {ApiClient} from "./client.js"; import * as keymanager from "./client.js"; // NOTE: Don't export server here so it's not bundled to all consumers export type { BuilderBoostFactorData, Endpoints, FeeRecipientData, GasLimitData, GraffitiData, KeystoreStr, ProposerConfigResponse, PubkeyHex, RemoteSignerDefinition, ResponseStatus, SignerDefinition, SlashingProtectionData, } from "./routes.js"; export {DeleteRemoteKeyStatus, DeletionStatus, ImportRemoteKeyStatus, ImportStatus} from "./routes.js"; export type {ApiClient}; type ClientModules = HttpClientModules & { config: ChainForkConfig; httpClient?: IHttpClient; }; /** * REST HTTP client for keymanager routes */ export function getClient(opts: HttpClientOptions, modules: ClientModules): ApiClient { const {config} = modules; const httpClient = modules.httpClient ?? new HttpClient(opts, modules); return keymanager.getClient(config, httpClient); }