- Consolidated duplicate UndoManagers to single instance - Fixed connection promise to only resolve on 'connected' status - Fixed WebSocketProvider import (WebsocketProvider) - Added proper doc.destroy() cleanup - Renamed isPresenceInitialized property to avoid conflict Co-Authored-By: Paperclip <noreply@paperclip.ing>
30 lines
821 B
TypeScript
30 lines
821 B
TypeScript
import { HDKey } from '@scure/bip32'
|
|
import { mnemonicToSeedSync } from '@scure/bip39'
|
|
|
|
import type { ErrorType } from '../errors/utils.js'
|
|
import {
|
|
type HDKeyToAccountErrorType,
|
|
type HDKeyToAccountOptions,
|
|
hdKeyToAccount,
|
|
} from './hdKeyToAccount.js'
|
|
import type { HDAccount } from './types.js'
|
|
|
|
export type MnemonicToAccountOptions = HDKeyToAccountOptions & {
|
|
passphrase?: string
|
|
}
|
|
|
|
export type MnemonicToAccountErrorType = HDKeyToAccountErrorType | ErrorType
|
|
|
|
/**
|
|
* @description Creates an Account from a mnemonic phrase.
|
|
*
|
|
* @returns A HD Account.
|
|
*/
|
|
export function mnemonicToAccount(
|
|
mnemonic: string,
|
|
{ passphrase, ...hdKeyOpts }: MnemonicToAccountOptions = {},
|
|
): HDAccount {
|
|
const seed = mnemonicToSeedSync(mnemonic, passphrase)
|
|
return hdKeyToAccount(HDKey.fromMasterSeed(seed), hdKeyOpts)
|
|
}
|