]> git.codecow.com Git - libnemo.git/commitdiff
Validate mnemonic input type and format.
authorChris Duncan <chris@zoso.dev>
Mon, 4 Aug 2025 13:48:42 +0000 (06:48 -0700)
committerChris Duncan <chris@zoso.dev>
Mon, 4 Aug 2025 13:48:42 +0000 (06:48 -0700)
src/lib/bip39-mnemonic.ts

index 7265c020f2707bb18aa7c2c35184b2dad77d1ce6..1305a39dffefd9a666850d2922dd19029f5f77fe 100644 (file)
@@ -87,7 +87,14 @@ export class Bip39Mnemonic {
        * @param {string} mnemonic - Mnemonic phrase to validate\r
        * @returns {boolean} True if the mnemonic phrase is valid\r
        */\r
-       static async validate (mnemonic: string): Promise<boolean> {\r
+       static async validate (mnemonic: string): Promise<boolean>\r
+       static async validate (mnemonic: unknown): Promise<boolean> {\r
+               if (typeof mnemonic !== 'string') {\r
+                       return false\r
+               }\r
+               if (!/^(?:[a-z]{3,8} ){11,23}[a-z]{3,8}$/i.test(mnemonic)) {\r
+                       return false\r
+               }\r
                const words = mnemonic.normalize('NFKD').split(' ')\r
                if (words.length % 3 !== 0) {\r
                        return false\r