/** * Represents an account stored in the database. */ export type Account = { /** * Auto-generated ID by Dexie */ id?: number; /** * The date the account was created */ dateCreated: string; /** * The derivation path for the account, if this is from a mnemonic */ derivationPath?: string; /** * Decentralized Identifier (DID) for the account */ did: string; /** * Stringified JSON containing underlying key material, if generated from a mnemonic * Based on the IIdentifier type from Veramo * @see {@link https://github.com/uport-project/veramo/blob/next/packages/core-types/src/types/IIdentifier.ts} */ identity?: string; /** * The mnemonic phrase for the account, if this is from a mnemonic */ mnemonic?: string; /** * The Webauthn credential ID in hex, if this is from a passkey */ passkeyCredIdHex?: string; /** * The public key in hexadecimal format */ publicKeyHex: string; }; /** * Schema for the accounts table in the database. * Fields starting with a $ character are encrypted. * @see {@link https://github.com/PVermeer/dexie-addon-suite-monorepo/tree/master/packages/dexie-encrypted-addon} */ export const AccountsSchema = { accounts: "++id, dateCreated, derivationPath, did, $identity, $mnemonic, publicKeyHex", };