@web3auth/no-modal
Version:
Multi chain wallet aggregator for web3Auth
80 lines (79 loc) • 4.11 kB
TypeScript
import { SafeEventEmitter } from "@web3auth/auth";
import { Analytics, type ChainNamespaceType, type CONNECTOR_STATUS_TYPE, type CustomChainConfig, type IConnector, type IdentityTokenInfo, type IPlugin, type IProvider, type IWeb3Auth, type IWeb3AuthCoreOptions, IWeb3AuthState, LoginModeType, type LoginParamMap, type ProjectConfig, type UserInfo, type WALLET_CONNECTOR_TYPE, type Web3AuthNoModalEvents } from "./base";
import { type AccountAbstractionProvider } from "./providers/account-abstraction-provider";
import { CommonJRPCProvider } from "./providers/base-provider";
export declare class Web3AuthNoModal extends SafeEventEmitter<Web3AuthNoModalEvents> implements IWeb3Auth {
readonly coreOptions: IWeb3AuthCoreOptions;
status: CONNECTOR_STATUS_TYPE;
protected aaProvider: AccountAbstractionProvider | null;
protected connectors: IConnector<unknown>[];
protected commonJRPCProvider: CommonJRPCProvider | null;
protected analytics: Analytics;
protected plugins: Record<string, IPlugin>;
private storage;
private state;
private loginMode;
constructor(options: IWeb3AuthCoreOptions, initialState?: IWeb3AuthState);
get currentChain(): CustomChainConfig | undefined;
get connected(): boolean;
get provider(): IProvider | null;
get connectedConnectorName(): WALLET_CONNECTOR_TYPE | null;
get cachedConnector(): string | null;
get currentChainId(): string | null;
get connectedConnector(): IConnector<unknown> | null;
get accountAbstractionProvider(): AccountAbstractionProvider | null;
get idToken(): string | null;
set provider(_: IProvider | null);
init(options?: {
signal?: AbortSignal;
}): Promise<void>;
getConnector(connectorName: WALLET_CONNECTOR_TYPE, chainNamespace?: ChainNamespaceType): IConnector<unknown> | null;
clearCache(): void;
cleanup(): Promise<void>;
switchChain(params: {
chainId: string;
}): Promise<void>;
/**
* Connect to a specific wallet connector
* @param connectorName - Key of the wallet connector to use.
*/
connectTo<T extends WALLET_CONNECTOR_TYPE>(connectorName: T, loginParams?: LoginParamMap[T], loginMode?: LoginModeType): Promise<IProvider | null>;
logout(options?: {
cleanup: boolean;
}): Promise<void>;
getUserInfo(): Promise<Partial<UserInfo>>;
enableMFA<T>(loginParams?: T): Promise<void>;
manageMFA<T>(loginParams?: T): Promise<void>;
getIdentityToken(): Promise<IdentityTokenInfo>;
getPlugin(name: string): IPlugin | null;
setAnalyticsProperties(properties: Record<string, unknown>): void;
protected initChainsConfig(projectConfig: ProjectConfig): void;
protected initAccountAbstractionConfig(projectConfig?: ProjectConfig): void;
protected initUIConfig(projectConfig: ProjectConfig): void;
protected initSessionTimeConfig(projectConfig: ProjectConfig): void;
protected initCachedConnectorAndChainId(): void;
protected initWalletServicesConfig(projectConfig: ProjectConfig): void;
protected getInitializationTrackData(): {};
protected setupCommonJRPCProvider(): Promise<void>;
protected setupConnector(connector: IConnector<unknown>): Promise<void>;
protected loadConnectors({ projectConfig, modalMode }: {
projectConfig: ProjectConfig;
modalMode?: boolean;
}): Promise<void>;
protected initPlugins(): Promise<void>;
protected setConnectors(connectors: IConnector<unknown>[]): void;
protected subscribeToConnectorEvents(connector: IConnector<unknown>): void;
protected checkInitRequirements(): void;
protected checkIfAutoConnect(connector: IConnector<unknown>): boolean;
/**
* Gets the initial chain configuration for a connector
* @throws WalletInitializationError If no chain is found for the connector's namespace
*/
protected getInitialChainIdForConnector(connector: IConnector<unknown>): CustomChainConfig;
private cacheWallet;
private setCurrentChain;
private connectToPlugins;
private setState;
private loadState;
private getStorageMethod;
}