@oko-wallet/oko-sdk-eth
Version:
29 lines (28 loc) • 1.72 kB
TypeScript
import type { Address } from "viem";
import type { OkoEthSigner } from "../types";
import type { RpcMethod, RpcRequestArgs, RpcResponseData, PublicRpcMethod, WalletRpcMethod } from "../rpc";
import { ProviderEventEmitter } from "./emitter";
import type { EIP1193Provider, OkoEIP1193ProviderOptions, ProviderConnectInfo, OkoEthRpcChain, OkoEthRpcChainWithStatus } from "./types";
import { EthereumRpcError } from "./error";
export declare class OkoEIP1193Provider extends ProviderEventEmitter implements EIP1193Provider {
protected signer: OkoEthSigner | null;
private activeChainState;
private addedChainsState;
private lastConnectedEmittedEvent;
readonly version: string;
readonly name: string;
constructor(options: OkoEIP1193ProviderOptions);
get chainId(): string;
get activeChain(): OkoEthRpcChain;
get addedChains(): ReadonlyArray<OkoEthRpcChainWithStatus>;
get isConnected(): boolean;
request<M extends RpcMethod>(args: RpcRequestArgs<M>): Promise<RpcResponseData<M>>;
protected handleRequest<M extends RpcMethod>(args: RpcRequestArgs<M>): Promise<RpcResponseData<M>>;
protected handlePublicRpcRequest<M extends PublicRpcMethod>(args: RpcRequestArgs<M>): Promise<RpcResponseData<M>>;
protected handleWalletRpcRequest<M extends WalletRpcMethod>(args: RpcRequestArgs<M>): Promise<RpcResponseData<M>>;
private _getAuthenticatedSigner;
protected validateRequestArgs<M extends RpcMethod>(args: RpcRequestArgs<M>): void;
protected _handleConnected(connected: boolean, data: ProviderConnectInfo | EthereumRpcError): void;
protected _handleChainChanged(chainId: string): void;
protected _handleAccountsChanged(newAddress: Address[]): void;
}