type,\r
password: utf8.toBuffer(password)\r
}\r
- if (/^[A-Fa-f0-9]+$/.test(secret)) {\r
+ if (/^(?:[A-F0-9]{64}){1,2}$/i.test(secret)) {\r
data.seed = hex.toBuffer(secret)\r
- } else {\r
- data.mnemonicPhrase = secret\r
+ } else if (/^([a-z]{3,8} ?){12,24}$/i.test(secret)) {\r
+ data.mnemonicPhrase = secret.toLowerCase()\r
if (mnemonicSalt != null) data.mnemonicSalt = mnemonicSalt\r
+ } else {\r
+ throw new TypeError('Invalid wallet data')\r
}\r
const result = self.#safe.request<ArrayBuffer>(data)\r
const { iv, salt, encrypted } = await result\r