Files
seedpgp-web/src/lib/types.ts

53 lines
1.1 KiB
TypeScript

export type SeedPgpPlaintext = {
v: 1;
t: "bip39";
w: string;
l: "en";
pp: 0 | 1;
fpr?: string[];
};
export type ParsedSeedPgpFrame = {
kind: "single";
crc16: string;
b45: string;
rawPayload?: boolean;
};
// Krux KEF types
export type KruxEncryptionParams = {
label?: string;
iterations?: number;
version?: number;
};
export type EncryptionMode = 'pgp' | 'krux' | 'seedqr' | 'text';
export type EncryptionParams = {
plaintext: SeedPgpPlaintext | string;
publicKeyArmored?: string;
messagePassword?: string;
mode?: EncryptionMode;
kruxLabel?: string;
kruxIterations?: number;
kruxVersion?: number;
};
export type DecryptionParams = {
frameText: string;
privateKeyArmored?: string;
privateKeyPassphrase?: string;
messagePassword?: string;
mode?: EncryptionMode;
};
export type EncryptionResult = {
framed: string | Uint8Array;
pgpBytes?: Uint8Array;
kefBytes?: Uint8Array; // Added for Krux binary output
recipientFingerprint?: string;
label?: string;
version?: number;
iterations?: number;
};