Skip to content

Commit 5abe574

Browse files
committed
refactor: isValidMnemonic
1 parent b32937b commit 5abe574

1 file changed

Lines changed: 4 additions & 23 deletions

File tree

packages/keyring-eth-hd/src/hd-keyring.ts

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ export class HdKeyring implements Keyring {
484484
* @returns The Uint8Array mnemonic.
485485
*/
486486
#mnemonicToUint8Array(
487-
mnemonic: Buffer | SerializedBuffer | string | Uint8Array | number[],
487+
mnemonic: Mnemonic,
488488
): Uint8Array {
489489
let mnemonicData: unknown = mnemonic;
490490
// When using `Buffer.toJSON()`, the Buffer is serialized into an object
@@ -653,28 +653,9 @@ export class HdKeyring implements Keyring {
653653
* @throws If the mnemonic is invalid.
654654
*/
655655
#isValidMnemonic(mnemonic: Mnemonic): void {
656-
let mnemonicString: string;
657-
658-
if (typeof mnemonic === 'string') {
659-
mnemonicString = mnemonic;
660-
} else if (Array.isArray(mnemonic)) {
661-
mnemonicString = Buffer.from(mnemonic).toString();
662-
} else if (isSerializedBuffer(mnemonic)) {
663-
mnemonicString = Buffer.from(mnemonic.data).toString();
664-
} else if (Buffer.isBuffer(mnemonic)) {
665-
mnemonicString = mnemonic.toString();
666-
} else if (mnemonic instanceof Uint8Array) {
667-
mnemonicString = this.#uint8ArrayToString(mnemonic);
668-
} else if (typeof mnemonic === 'object') {
669-
// When encrypted/decrypted, Uint8Arrays can become plain objects like {0: ..., 1: ..., ...}
670-
// Convert back to Uint8Array first, then to mnemonic string
671-
const mnemonicAsUint8Array = Uint8Array.from(
672-
Object.values(mnemonic as Record<string, number>),
673-
);
674-
mnemonicString = this.#uint8ArrayToString(mnemonicAsUint8Array);
675-
} else {
676-
throw new Error('Eth-Hd-Keyring: Invalid mnemonic format');
677-
}
656+
// Reuse #mnemonicToUint8Array for format conversion to avoid duplication
657+
const mnemonicAsUint8Array = this.#mnemonicToUint8Array(mnemonic);
658+
const mnemonicString = this.#uint8ArrayToString(mnemonicAsUint8Array);
678659

679660
if (!validateMnemonic(mnemonicString, wordlist)) {
680661
throw new Error(

0 commit comments

Comments
 (0)