mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-23 10:30:04 +01:00
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
|
diff --git a/node_modules/eth-keyring-controller/index.js b/node_modules/eth-keyring-controller/index.js
|
||
|
index 250ab98..38615aa 100644
|
||
|
--- a/node_modules/eth-keyring-controller/index.js
|
||
|
+++ b/node_modules/eth-keyring-controller/index.js
|
||
|
@@ -84,15 +84,20 @@ class KeyringController extends EventEmitter {
|
||
|
*
|
||
|
* @emits KeyringController#unlock
|
||
|
* @param {string} password - The password to encrypt the vault with
|
||
|
- * @param {string} seed - The BIP44-compliant seed phrase.
|
||
|
+ * @param {string|Array<number>} seedPhrase - The BIP39-compliant seed phrase,
|
||
|
+ * either as a string or an array of UTF-8 bytes that represent the string.
|
||
|
* @returns {Promise<Object>} A Promise that resolves to the state.
|
||
|
*/
|
||
|
- createNewVaultAndRestore (password, seed) {
|
||
|
+ createNewVaultAndRestore(password, seedPhrase) {
|
||
|
+ const seedPhraseAsBuffer = typeof seedPhrase === 'string'
|
||
|
+ ? Buffer.from(seedPhrase, 'utf8')
|
||
|
+ : Buffer.from(seedPhrase)
|
||
|
+
|
||
|
if (typeof password !== 'string') {
|
||
|
return Promise.reject(new Error('Password must be text.'))
|
||
|
}
|
||
|
|
||
|
- if (!bip39.validateMnemonic(seed)) {
|
||
|
+ if (!bip39.validateMnemonic(seedPhraseAsBuffer)) {
|
||
|
return Promise.reject(new Error('Seed phrase is invalid.'))
|
||
|
}
|
||
|
|
||
|
@@ -101,7 +106,7 @@ class KeyringController extends EventEmitter {
|
||
|
return this.persistAllKeyrings(password)
|
||
|
.then(() => {
|
||
|
return this.addNewKeyring('HD Key Tree', {
|
||
|
- mnemonic: seed,
|
||
|
+ mnemonic: seedPhraseAsBuffer,
|
||
|
numberOfAccounts: 1,
|
||
|
})
|
||
|
})
|