aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/metamask-controller.js
diff options
context:
space:
mode:
authorThomas Huang <tmashuang@users.noreply.github.com>2018-06-05 07:37:58 +0800
committerGitHub <noreply@github.com>2018-06-05 07:37:58 +0800
commite1cd3562cef92a78945056dc557d4228a72b119c (patch)
tree0d4a7cbe1c095085744ed27f59453667d5b41c88 /app/scripts/metamask-controller.js
parent750ec8769931f8db30ebb5e8e8bcc61816368800 (diff)
parentc12b02b4af75d6d706d0b8cd9aeb07f18aa3037a (diff)
downloadtangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar.gz
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar.bz2
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar.lz
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar.xz
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.tar.zst
tangerine-wallet-browser-e1cd3562cef92a78945056dc557d4228a72b119c.zip
Merge pull request #4490 from MetaMask/v4.7.3
Version 4.7.3
Diffstat (limited to 'app/scripts/metamask-controller.js')
-rw-r--r--app/scripts/metamask-controller.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 96f976568..c753fc06f 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -85,6 +85,7 @@ module.exports = class MetamaskController extends EventEmitter {
this.preferencesController = new PreferencesController({
initState: initState.PreferencesController,
initLangCode: opts.initLangCode,
+ getFirstTimeInfo: () => initState.firstTimeInfo,
})
// currency controller
@@ -356,7 +357,7 @@ module.exports = class MetamaskController extends EventEmitter {
importAccountWithStrategy: nodeify(this.importAccountWithStrategy, this),
// vault management
- submitPassword: nodeify(keyringController.submitPassword, keyringController),
+ submitPassword: nodeify(this.submitPassword, this),
// network management
setProviderType: nodeify(networkController.setProviderType, networkController),
@@ -474,6 +475,22 @@ module.exports = class MetamaskController extends EventEmitter {
}
}
+ /*
+ * Submits the user's password and attempts to unlock the vault.
+ * Also synchronizes the preferencesController, to ensure its schema
+ * is up to date with known accounts once the vault is decrypted.
+ *
+ * @param {string} password - The user's password
+ * @returns {Promise<object>} - The keyringController update.
+ */
+ async submitPassword (password) {
+ await this.keyringController.submitPassword(password)
+ const accounts = await this.keyringController.getAccounts()
+
+ await this.preferencesController.syncAddresses(accounts)
+ return this.keyringController.fullUpdate()
+ }
+
/**
* @type Identity
* @property {string} name - The account nickname.