You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.3 KiB
56 lines
1.3 KiB
/**
|
|
* 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",
|
|
};
|
|
|