@web3auth/ws-embed
Version:
Embed script
50 lines (49 loc) • 3.02 kB
TypeScript
import { BaseEmbedControllerState, COMMUNICATION_JRPC_METHODS, CONFIRMATION_STRATEGY_TYPE, ShowFundingParams } from "@toruslabs/base-controllers";
import { THEME_MODE_TYPE, WEB3AUTH_NETWORK_TYPE } from "@web3auth/auth";
import CommunicationProvider, { type AccessTokenProviderFn } from "./communicationProvider";
import { EVM_METHOD_TYPES_TYPE, SOLANA_METHOD_TYPES_TYPE } from "./constants";
import TorusInPageProvider from "./inPageProvider";
import { BUTTON_POSITION_TYPE, ConnectWithSessionParams, CtorArgs, LoginParams, UnValidatedJsonRpcRequest, UserInfo, WS_EMBED_BUILD_ENV_TYPE, WS_EMBED_LOGIN_MODE_TYPE, WsEmbedParams } from "./interfaces";
export declare const version: string;
export declare const COMMUNICATION_UNSAFE_METHODS: Set<Partial<(typeof COMMUNICATION_JRPC_METHODS)[keyof typeof COMMUNICATION_JRPC_METHODS]>>;
export declare const PROVIDER_UNSAFE_METHODS: Set<Partial<EVM_METHOD_TYPES_TYPE | SOLANA_METHOD_TYPES_TYPE>>;
declare class WsEmbed {
isInitialized: boolean;
modalZIndex: number;
provider: TorusInPageProvider;
communicationProvider: CommunicationProvider;
buttonPosition: BUTTON_POSITION_TYPE;
web3AuthClientId: string;
web3AuthNetwork: WEB3AUTH_NETWORK_TYPE;
loginMode: WS_EMBED_LOGIN_MODE_TYPE;
enableLegacyConfig: boolean;
confirmationStrategy: CONFIRMATION_STRATEGY_TYPE;
private buildEnv;
private readonly embedNonce;
constructor({ modalZIndex, web3AuthClientId, web3AuthNetwork }: CtorArgs);
get isLoggedIn(): boolean;
get getBuildEnv(): WS_EMBED_BUILD_ENV_TYPE;
init({ buildEnv, enableLogging, chains, chainId, walletUrls, whiteLabel, confirmationStrategy, loginMethodConfig, accountAbstractionConfig, enableKeyExport, loginMode, enableLegacyConfig, }: WsEmbedParams): Promise<void>;
login(params?: LoginParams): Promise<string[]>;
connectWithSession(params: ConnectWithSessionParams): Promise<boolean>;
setAccessTokenProvider(provider: AccessTokenProviderFn): void;
logout(): Promise<void>;
cleanUp(): Promise<void>;
clearInit(): void;
getUserInfo(): Promise<UserInfo>;
showWalletConnectScanner(showWalletConnectParams?: BaseEmbedControllerState["showWalletConnect"]): Promise<void>;
showWalletUi(showWalletUiParams?: BaseEmbedControllerState["showWalletUi"]): Promise<void>;
showFunding(showFundingParams?: {
show: boolean;
} & ShowFundingParams): Promise<void>;
showCheckout(showCheckoutParams?: BaseEmbedControllerState["showCheckout"]): Promise<void>;
showReceive(showReceiveParams?: BaseEmbedControllerState["showReceive"]): Promise<void>;
showSwap(shoSwapParams?: BaseEmbedControllerState["showSwap"]): Promise<void>;
getConfirmationStrategyFinal(payload: UnValidatedJsonRpcRequest | UnValidatedJsonRpcRequest[]): CONFIRMATION_STRATEGY_TYPE;
getTheme(theme: THEME_MODE_TYPE): string;
private setupWeb3;
private getProjectConfig;
private initializeAuthConnectionConfig;
private initializeWhiteLabel;
}
export default WsEmbed;