UNPKG

@sphereon/ssi-sdk-web3.headless-provider

Version:

73 lines 2.72 kB
import { TransactionRequest } from '@ethersproject/abstract-provider'; import { ethers, Signer } from 'ethers'; import { ErrorWithCode } from './errors'; import { EventEmitter } from './event-emitter'; import { ChainConnection, IWeb3Provider, PendingRequest, Web3Method, Web3ProviderConfig } from './types'; export declare class EthersHeadlessProvider extends EventEmitter implements IWeb3Provider { private readonly chains; private _pendingRequests; private _signers; private _activeChainId; private _rpc; private _config; private _authorizedRequests; constructor(signers: Signer[], chains: ChainConnection[], config?: Web3ProviderConfig); request(args: { method: 'eth_call'; params: any[]; }): Promise<any>; request(args: { method: 'eth_getBalance'; params: string[]; }): Promise<string>; request(args: { method: 'eth_accounts'; params: []; }): Promise<string[]>; request(args: { method: 'eth_requestAccounts'; params: string[]; }): Promise<string[]>; request(args: { method: 'net_version'; params: []; }): Promise<number>; request(args: { method: 'eth_chainId'; params: []; }): Promise<string>; request(args: { method: 'personal_sign'; params: string[]; }): Promise<string>; request(args: { method: 'eth_signTypedData' | 'eth_signTypedData_v1'; params: [object[], string]; }): Promise<string>; request(args: { method: 'eth_signTypedData_v3' | 'eth_signTypedData_v4'; params: string[]; }): Promise<string>; request(args: { method: 'eth_sendTransaction'; params: TransactionRequest[]; }): Promise<string>; getCurrentWallet(): Signer; waitAuthorization<T>(requestInfo: PendingRequest['requestInfo'], task: () => Promise<T>, permanentPermission?: boolean, methodOverride?: string): Promise<unknown>; private consumeRequest; private consumeAllRequests; getPendingRequests(): PendingRequest['requestInfo'][]; getPendingRequestCount(requestKind?: Web3Method): number; authorize(requestKind: Web3Method): Promise<void>; reject(requestKind: Web3Method, reason?: ErrorWithCode): Promise<void>; authorizeAll(): void; rejectAll(reason?: ErrorWithCode): void; changeAccounts(signers: Signer[]): Promise<void>; private getCurrentChain; getRpc(): ethers.providers.JsonRpcProvider; getNetwork(): ChainConnection; getNetworks(): ChainConnection[]; addNetwork(chainId: number, rpcUrl: string): void; switchNetwork(chainId: number): void; } //# sourceMappingURL=ethers-headless-provider.d.ts.map