import { KeyStore } from "./crypto"; export type CoinTypeForChain = { [identifier: string]: number; }; export type BIP44HDPath = { account: number; change: number; addressIndex: number; }; export interface CommonCrypto { scrypt: (text: string, params: ScryptParams) => Promise; } export interface ScryptParams { dklen: number; salt: string; n: number; r: number; p: number; } export type MultiKeyStoreInfoElem = Pick< KeyStore, "version" | "type" | "meta" | "bip44HDPath" | "coinTypeForChain" >; export type MultiKeyStoreInfo = MultiKeyStoreInfoElem[]; export type MultiKeyStoreInfoWithSelectedElem = MultiKeyStoreInfoElem & { selected: boolean; }; export type MultiKeyStoreInfoWithSelected = MultiKeyStoreInfoWithSelectedElem[]; export interface ExportKeyRingData { type: "mnemonic" | "privateKey"; // If the type is private key, the key is encoded as hex. key: string; coinTypeForChain: CoinTypeForChain; bip44HDPath: BIP44HDPath; meta: { [key: string]: string; }; }