Do not cache the seed, retrieve it from the decrypted wallet

feature/default_network_editable
Dan Finlay 9 years ago
parent ea7b891729
commit f5105293bf
  1. 14
      app/scripts/lib/config-manager.js
  2. 22
      app/scripts/lib/idStore.js

@ -88,20 +88,16 @@ ConfigManager.prototype.getWallet = function() {
return this.migrator.getData().wallet
}
ConfigManager.prototype.getSeedWords = function() {
return this.migrator.getData().seedWords
}
ConfigManager.prototype.setSeedWords = function(seedWords) {
// Takes a boolean
ConfigManager.prototype.setShowSeedWords = function(should) {
var data = this.migrator.getData()
data.seedWords = seedWords
data.showSeedWords = should
this.setData(data)
}
ConfigManager.prototype.clearSeedWords = function() {
ConfigManager.prototype.getShouldShowSeedWords = function() {
var data = this.migrator.getData()
delete data.seedWords
this.setData(data)
return data.showSeedWords
}
ConfigManager.prototype.getCurrentRpcAddress = function() {

@ -45,11 +45,13 @@ IdentityStore.prototype.createNewVault = function(password, entropy, cb){
configManager.clearWallet()
this._createIdmgmt(password, null, entropy, (err) => {
if (err) return cb(err)
var seedWords = this._idmgmt.getSeed()
configManager.setSeedWords(seedWords)
this._loadIdentities()
this._didUpdate()
this._autoFaucet()
configManager.setShowSeedWords(true)
var seedWords = this._idmgmt.getSeed()
cb(null, seedWords)
})
}
@ -69,20 +71,28 @@ IdentityStore.prototype.setStore = function(store){
}
IdentityStore.prototype.clearSeedWordCache = function(cb) {
configManager.clearSeedWords()
configManager.setShowSeedWords(false)
cb()
}
IdentityStore.prototype.getState = function(){
const cachedSeeds = configManager.getSeedWords()
var seedWords = this.getSeedIfUnlocked()
var wallet = configManager.getWallet()
return clone(extend(this._currentState, {
isInitialized: !!configManager.getWallet() && !cachedSeeds,
isInitialized: !!configManager.getWallet() && !seedWords,
isUnlocked: this._isUnlocked(),
seedWords: cachedSeeds,
seedWords: seedWords,
}))
}
IdentityStore.prototype.getSeedIfUnlocked = function() {
var showSeed = configManager.getShouldShowSeedWords()
var idmgmt = this._idmgmt
var shouldShow = showSeed && !!idmgmt
var seedWords = shouldShow ? idmgmt.getSeed() : null
return seedWords
}
IdentityStore.prototype.getSelectedAddress = function(){
return this._currentState.selectedAddress
}

Loading…
Cancel
Save