|
|
@ -459,17 +459,30 @@ module.exports = class MetamaskController extends EventEmitter { |
|
|
|
//
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
|
|
async createNewVaultAndKeychain (password, cb) { |
|
|
|
async createNewVaultAndKeychain (password, cb) { |
|
|
|
|
|
|
|
this.forgetOldAccounts() |
|
|
|
const vault = await this.keyringController.createNewVaultAndKeychain(password) |
|
|
|
const vault = await this.keyringController.createNewVaultAndKeychain(password) |
|
|
|
this.selectFirstIdentity(vault) |
|
|
|
this.selectFirstIdentity(vault) |
|
|
|
return vault |
|
|
|
return vault |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
async createNewVaultAndRestore (password, seed, cb) { |
|
|
|
async createNewVaultAndRestore (password, seed, cb) { |
|
|
|
|
|
|
|
this.forgetOldAccounts() |
|
|
|
const vault = await this.keyringController.createNewVaultAndRestore(password, seed) |
|
|
|
const vault = await this.keyringController.createNewVaultAndRestore(password, seed) |
|
|
|
this.selectFirstIdentity(vault) |
|
|
|
this.selectFirstIdentity(vault) |
|
|
|
return vault |
|
|
|
return vault |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
forgetOldAccounts () { |
|
|
|
|
|
|
|
const { accountTracker } = this |
|
|
|
|
|
|
|
let oldAccounts = [] |
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
oldAccounts = Object.keys(accountTracker.store.getState().accounts) |
|
|
|
|
|
|
|
} catch (e) { |
|
|
|
|
|
|
|
log.warn('Could not load old accounts to forget', e) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
oldAccounts.forEach(addr => accountTracker.removeAccount(addr)) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
selectFirstIdentity (vault) { |
|
|
|
selectFirstIdentity (vault) { |
|
|
|
const { identities } = vault |
|
|
|
const { identities } = vault |
|
|
|
const address = Object.keys(identities)[0] |
|
|
|
const address = Object.keys(identities)[0] |
|
|
|