@thirdweb-dev/wallets
Version:
<p align="center"> <br /> <a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/legacy_packages/sdk/logo.svg?raw=true" width="200" alt=""/></a> <br /> </p> <h1 align="center">thirdweb Wallet SDK</h1> <p align="center"> <a h
89 lines • 3.25 kB
TypeScript
import type { AuthAndWalletRpcReturnType, AuthLoginReturnType, AuthProvider } from "../../interfaces/auth";
import type { ClientIdWithQuerierType, SendEmailOtpReturnType } from "../../interfaces/embedded-wallets/embedded-wallets";
import type { EmbeddedWalletIframeCommunicator } from "../../utils/iFrameCommunication/EmbeddedWalletIframeCommunicator";
export type LoginQuerierTypes = {
loginWithCustomAuthEndpoint: {
payload: string;
encryptionKey: string;
};
loginWithCustomJwt: {
jwt: string;
encryptionKey?: string;
};
loginWithThirdwebModal: undefined | {
email: string;
};
sendThirdwebSmsLoginOtp: {
phoneNumber: string;
};
sendThirdwebEmailLoginOtp: {
email: string;
};
verifyThirdwebEmailLoginOtp: {
email: string;
otp: string;
recoveryCode?: string;
};
verifyThirdwebSmsLoginOtp: {
phoneNumber: string;
otp: string;
recoveryCode?: string;
};
injectDeveloperClientId: void;
getHeadlessOauthLoginLink: {
authProvider: AuthProvider;
};
};
type OauthLoginType = {
openedWindow?: Window | null;
closeOpenedWindow?: (openedWindow: Window) => void;
};
export declare abstract class AbstractLogin<MODAL = void, EMAIL_MODAL extends {
email: string;
} = {
email: string;
}, EMAIL_VERIFICATION extends {
email: string;
otp: string;
} = {
email: string;
otp: string;
recoveryCode?: string;
}> {
protected LoginQuerier: EmbeddedWalletIframeCommunicator<LoginQuerierTypes>;
protected preLogin: () => Promise<void>;
protected postLogin: (authResults: AuthAndWalletRpcReturnType) => Promise<AuthLoginReturnType>;
protected clientId: string;
/**
* Used to manage the user's auth states. This should not be instantiated directly.
* Call {@link EmbeddedWalletSdk.auth} instead.
*
*/
constructor({ querier, preLogin, postLogin, clientId, }: ClientIdWithQuerierType & {
preLogin: () => Promise<void>;
postLogin: (authDetails: AuthAndWalletRpcReturnType) => Promise<AuthLoginReturnType>;
});
abstract loginWithCustomJwt(args: {
jwt: string;
encryptionKey: string;
}): Promise<AuthLoginReturnType>;
abstract loginWithCustomAuthEndpoint(args: {
payload: string;
encryptionKey: string;
}): Promise<AuthLoginReturnType>;
abstract loginWithModal(args?: MODAL): Promise<AuthLoginReturnType>;
abstract loginWithEmailOtp(args: EMAIL_MODAL): Promise<AuthLoginReturnType>;
abstract loginWithOauth(args: OauthLoginType & {
oauthProvider: AuthProvider;
}): Promise<AuthLoginReturnType>;
sendEmailLoginOtp({ email, }: LoginQuerierTypes["sendThirdwebEmailLoginOtp"]): Promise<SendEmailOtpReturnType>;
sendSmsLoginOtp({ phoneNumber, }: LoginQuerierTypes["sendThirdwebSmsLoginOtp"]): Promise<SendEmailOtpReturnType>;
abstract verifyEmailLoginOtp(args: EMAIL_VERIFICATION): Promise<AuthLoginReturnType>;
abstract verifySmsLoginOtp(args: {
phoneNumber: string;
otp: string;
recoveryCode?: string;
}): Promise<AuthLoginReturnType>;
}
export {};
//# sourceMappingURL=abstract-login.d.ts.map