UNPKG

@metamask/snaps-rpc-methods

Version:
39 lines 1.72 kB
import type { PermittedHandlerExport } from "@metamask/permission-controller"; import type { ProviderRequestParams, ProviderRequestResult } from "@metamask/snaps-sdk"; import { type InferMatching } from "@metamask/snaps-utils"; import { type Json } from "@metamask/utils"; type NetworkConfiguration = { defaultRpcEndpointIndex: number; rpcEndpoints: { networkClientId: string; }[]; }; export type ProviderRequestMethodHooks = { hasPermission: (permissionName: string) => boolean; getNetworkConfigurationByChainId: (chainId: string) => NetworkConfiguration | undefined; getNetworkClientById: (id: string) => { provider: { request: (request: Json) => Promise<Json>; }; }; }; export declare const providerRequestHandler: PermittedHandlerExport<ProviderRequestMethodHooks, ProviderRequestParameters, ProviderRequestResult>; declare const ProviderRequestParametersStruct: import("@metamask/superstruct").Struct<{ request: { method: string; params?: Json[] | Record<string, Json> | undefined; }; chainId: `${string}:${string}`; }, { chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>; request: import("@metamask/superstruct").Struct<{ method: string; params?: Json[] | Record<string, Json> | undefined; }, { method: import("@metamask/superstruct").Struct<string, null>; params: import("@metamask/superstruct").Struct<Json[] | Record<string, Json> | undefined, null>; }>; }>; export type ProviderRequestParameters = InferMatching<typeof ProviderRequestParametersStruct, ProviderRequestParams>; export {}; //# sourceMappingURL=experimentalProviderRequest.d.cts.map