UNPKG

steem-auth-vue

Version:

A Vue 3 authentication component for Steem blockchain and MeeRay sidechain

40 lines (38 loc) 1.47 kB
import { IAccount } from '../interfaces'; interface StoredAccount { username: string; loginAuth: 'steem' | 'keychain' | 'steemlogin'; accessToken?: string; encryptedPk?: string; } interface AuthState { isAuthenticated: boolean; username: string; account: IAccount | null; loginAuth: 'steem' | 'keychain' | 'steemlogin'; appName: string; callbackURL: string; accounts: StoredAccount[]; } interface AuthStore { state: AuthState; slogin: (access_token: string) => Promise<void>; logout: () => void; handleLogin: (username: string, keychainLogin: boolean, posting_key?: string, pin?: string) => Promise<void>; checkUser: () => Promise<void>; validatePostingKey: (username: string, postingKey: string) => Promise<boolean>; setConfig: (appName: string, callbackURL: string) => void; addAccount: (account: StoredAccount) => void; removeAccount: (username: string) => void; switchAccount: (username: string) => Promise<void>; get username(): string; get loginAuth(): 'steem' | 'keychain' | 'steemlogin'; get accounts(): StoredAccount[]; } /** * Call this function ONLY from inside a component's setup() or a composable called from setup(). * Do NOT call at the top level of a module or in main.ts. */ export declare const provideAuthStore: () => AuthStore; export declare const useAuthStore: () => AuthStore; export type { AuthStore };