UNPKG

@intuweb3/sdk

Version:

INTU SDK - Modern blockchain interaction toolkit

29 lines (28 loc) 1.57 kB
import { ethers, providers } from "ethers"; interface ProviderConfig { customRpcEndpoints?: Record<string, string>; preferCustomRpc?: boolean; allowMetaMaskFallback?: boolean; } declare class ReliableProviderManager { private static instance; private config; private providerCache; private constructor(); static getInstance(): ReliableProviderManager; configure(config: ProviderConfig): void; getReliableProvider(chainId: string | number, signer?: ethers.Signer): Promise<providers.Provider>; getProviderForChainWithCustomRpc(chainId: string | number, customRpcUrl?: string, signer?: ethers.Signer): Promise<providers.Provider>; private getNetworkName; private isMetaMaskProvider; getBestProvider(chainId: string | number, signer?: ethers.Signer): Promise<providers.Provider>; clearCache(): void; getRpcUrl(chainId: string | number): string; } export declare const reliableProviderManager: ReliableProviderManager; export type { ProviderConfig }; export declare function getReliableProvider(chainId: string | number, signer?: ethers.Signer): Promise<providers.Provider>; export declare function getBestProvider(chainId: string | number, signer?: ethers.Signer): Promise<providers.Provider>; export declare function getProviderWithCustomRpc(chainId: string | number, customRpcUrl?: string, signer?: ethers.Signer): Promise<providers.Provider>; export declare function configureProviderManager(config: ProviderConfig): void; export declare function getRpcUrlWithCustomSupport(chainId: string | number): string;