sui-svelte-wallet-kit
Version:
Svelte 5 wallet kit for Sui: connect wallets, manage accounts, SuiNS, balance, sign transactions/messages
42 lines (41 loc) • 1.66 kB
TypeScript
/**
* CredentialStorage
* Handles persistence of passkey credentials
*/
export interface StoredCredential {
credentialId: string;
publicKey: string;
suiAddress: string;
createdAt: number;
lastUsedAt?: number;
rpId: string;
}
export interface StoredCredentials {
credentials: StoredCredential[];
version: number;
}
export interface CredentialStorage {
get(): Promise<StoredCredentials | null>;
set(credentials: StoredCredentials): Promise<void>;
clear(): Promise<void>;
}
/**
* Default localStorage implementation of CredentialStorage
*/
export declare class LocalStorageCredentialStorage implements CredentialStorage {
private key;
constructor(key?: string);
get(): Promise<StoredCredentials | null>;
set(credentials: StoredCredentials): Promise<void>;
clear(): Promise<void>;
}
/**
* Helper functions for credential management
*/
export declare function createEmptyStorage(): StoredCredentials;
export declare function addCredential(storage: StoredCredentials, credential: StoredCredential): StoredCredentials;
export declare function findCredentialByAddress(storage: StoredCredentials, address: string): StoredCredential | undefined;
export declare function findCredentialById(storage: StoredCredentials, credentialId: string): StoredCredential | undefined;
export declare function findCredentialsByRpId(storage: StoredCredentials, rpId: string): StoredCredential[];
export declare function removeCredential(storage: StoredCredentials, credentialId: string): StoredCredentials;
export declare function updateLastUsed(storage: StoredCredentials, credentialId: string): StoredCredentials;