import {kdf} from './kdf.js' import PhraseWallet from './PhraseWallet.js' import Base58 from './deps/Base58.js' import {decryptStoredWallet} from './decryptStoredWallet.js' export const createWallet = async (sourceType, source, statusUpdateFn) => { let version, seed switch (sourceType) { case 'phrase': version = 2 seed = await kdf(source.seedPhrase, void 0, statusUpdateFn) break case 'seed': version = 1 seed = Base58.decode(source.seed) break case 'storedWallet': case 'backedUpSeed': version = source.wallet.version seed = await decryptStoredWallet(source.password, source.wallet, statusUpdateFn) break default: throw 'sourceType ' + sourceType + ' not recognized' } return new PhraseWallet(seed, version) }