UNPKG

@eversurf/surfkeeper-provider

Version:

Provider interface for Surf Keeper extension of the Everscale blockchain

71 lines (70 loc) 2.53 kB
import { ProviderApiRequestParams, ProviderApiResponse, ProviderNetwork, ProviderSubscriptionRequestParams } from './api'; import { SubscriptionType } from './constants'; import type { ConnectResponse, DisconnectResponse, ProviderProperties, SubscriptionDisposer, SurfKeeperProvider } from './types'; export declare function hasSurfKeeperProvider(): Promise<boolean>; export declare class ProviderNotFoundException extends Error { constructor(); } export declare class ProviderNotInitializedException extends Error { constructor(); } export declare class ProviderRpcClient { private _provider?; private readonly _network; private readonly _properties; private readonly _api; private readonly _subscribe; private readonly _initializationPromise; constructor(network: ProviderNetwork, properties?: ProviderProperties); /** * Checks whether this page has injected surfkeeper provider or * there is a fallback provider. */ hasProvider(): Promise<boolean>; /** * Waits until provider api will be available. Calls `fallback` if no provider was found * * @throws ProviderNotFoundException when no provider found */ ensureInitialized(): Promise<void>; /** * Whether provider api is ready */ get isInitialized(): boolean; /** * Raw provider */ get getProvider(): SurfKeeperProvider; /** * Connect extension. * Shows an approval window to the user. */ connect(): Promise<ConnectResponse>; /** * Get connection status. */ connectStatus(): Promise<ConnectResponse>; /** * Disconnect extension. */ disconnect(): Promise<DisconnectResponse>; /** * Subscribes on the event and listens to the updates. */ subscribe(args: ProviderSubscriptionRequestParams<SubscriptionType>): SubscriptionDisposer; /** * Signs arbitrary data. * Shows an approval window to the user. */ signData(args: ProviderApiRequestParams<'signData'>): Promise<ProviderApiResponse<'signData'>>; /** * Sends an internal message from the user account. * Shows an approval window to the user. */ sendMessage(args: ProviderApiRequestParams<'sendMessage'>): Promise<ProviderApiResponse<'sendMessage'>>; /** * Sends transaction with provided params. * Shows an approval window to the user. */ sendTransaction(args: ProviderApiRequestParams<'sendTransaction'>): Promise<ProviderApiResponse<'sendTransaction'>>; }