mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix bug where new account was not immediately selected
This commit is contained in:
parent
0ae406e489
commit
3b4c679ffc
@ -324,7 +324,7 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
createShapeShiftTx: this.createShapeShiftTx.bind(this),
|
||||
|
||||
// primary HD keyring management
|
||||
addNewAccount: this.addNewAccount.bind(this),
|
||||
addNewAccount: nodeify(this.addNewAccount, this),
|
||||
placeSeedWords: this.placeSeedWords.bind(this),
|
||||
clearSeedWordCache: this.clearSeedWordCache.bind(this),
|
||||
importAccountWithStrategy: this.importAccountWithStrategy.bind(this),
|
||||
@ -490,10 +490,21 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
// Opinionated Keyring Management
|
||||
//
|
||||
|
||||
addNewAccount (cb) {
|
||||
async addNewAccount (cb) {
|
||||
const primaryKeyring = this.keyringController.getKeyringsByType('HD Key Tree')[0]
|
||||
if (!primaryKeyring) return cb(new Error('MetamaskController - No HD Key Tree found'))
|
||||
promiseToCallback(this.keyringController.addNewAccount(primaryKeyring))(cb)
|
||||
const keyringController = this.keyringController
|
||||
const oldAccounts = await keyringController.getAccounts()
|
||||
const keyState = await keyringController.addNewAccount(primaryKeyring)
|
||||
const newAccounts = await keyringController.getAccounts()
|
||||
|
||||
newAccounts.forEach((address) => {
|
||||
if (!oldAccounts.includes(address)) {
|
||||
this.preferencesController.setSelectedAddress(address)
|
||||
}
|
||||
})
|
||||
|
||||
return keyState
|
||||
}
|
||||
|
||||
// Adds the current vault's seed words to the UI's state tree.
|
||||
|
Loading…
Reference in New Issue
Block a user