UNPKG

@arcana/auth

Version:

Arcana Auth

55 lines (54 loc) 2.05 kB
import { CustomProviderParams, EthereumProvider, JsonRpcId } from './typings'; import SafeEventEmitter from '@metamask/safe-event-emitter'; import IframeWrapper from './iframeWrapper'; export interface RequestArguments { method: string; params?: unknown[] | Record<string, unknown>; } interface AuthProvider { loginWithSocial(loginType: string): void; loginWithLink(email: string): void; connect(): Promise<EthereumProvider>; appId: string; } export declare class ArcanaProvider extends SafeEventEmitter implements EthereumProvider { private authUrl; chainId: string; connected: boolean; private auth; private communication; private subscriber; private iframe; private logger; private popup; constructor(authUrl: string); isArcana(): boolean; init(iframe: IframeWrapper, auth: AuthProvider): Promise<void>; private onResponse; isLoggedIn(): Promise<boolean>; connect(): Promise<EthereumProvider>; isConnected(): Promise<boolean>; isLoginAvailable(type: string): Promise<boolean>; initCustomLogin(params: CustomProviderParams): Promise<string>; requestUserInfo(): Promise<import("./typings").UserInfo>; getReconnectionUrl(): Promise<string>; initOTPLogin(email: string): Promise<string | void>; completeOTPLogin(otp: string): Promise<void>; getPublicKey(email: string, verifier: string): Promise<string>; getAvailableLogins(): Promise<import("./typings").Logins[]>; logout(): Promise<void>; initPasswordlessLogin(email: string): Promise<string | { sessionId: string; setToken: string; }>; initSocialLogin(kind: string): Promise<string>; expandWallet(): Promise<void>; getKeySpaceConfigType(): Promise<string>; private getCommunication; request(args: RequestArguments): Promise<unknown>; getResponse<U>(method: string, id: JsonRpcId): Promise<U>; private createRequestUrl; setChainId(val: unknown): void; handleEvents: (t: string, val: unknown) => void; } export {};