aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-04-26 05:14:34 +0800
committerDan Finlay <dan@danfinlay.com>2016-04-26 05:14:34 +0800
commit1025eb3b4f90c2b909fe9d238cebba878c8ce2db (patch)
tree22545ef15f6bb672e3f3070cda9de3a80504ebd2 /app/scripts/lib
parent88ed546a9ae9a04f9ba09fe1d24910fe6c88292f (diff)
downloadtangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar.gz
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar.bz2
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar.lz
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar.xz
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.tar.zst
tangerine-wallet-browser-1025eb3b4f90c2b909fe9d238cebba878c8ce2db.zip
Persist selected account
When selecting an account, we now persist the selection to the `configManager`, so the selection can be restored when re-unlocking Metamask. Also found the bug where `rawtestrpc` was still being used as a default, and fixed it!
Diffstat (limited to 'app/scripts/lib')
-rw-r--r--app/scripts/lib/config-manager.js11
-rw-r--r--app/scripts/lib/idStore.js17
2 files changed, 18 insertions, 10 deletions
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js
index c79dc7a8f..102327c2d 100644
--- a/app/scripts/lib/config-manager.js
+++ b/app/scripts/lib/config-manager.js
@@ -102,6 +102,17 @@ ConfigManager.prototype.setWallet = function(wallet) {
this.setData(data)
}
+ConfigManager.prototype.getSelectedAccount = function() {
+ var config = this.getConfig()
+ return config.selectedAccount
+}
+
+ConfigManager.prototype.setSelectedAccount = function(address) {
+ var config = this.getConfig()
+ config.selectedAccount = address
+ this.setConfig(config)
+}
+
ConfigManager.prototype.getWallet = function() {
return this.migrator.getData().wallet
}
diff --git a/app/scripts/lib/idStore.js b/app/scripts/lib/idStore.js
index 525fdae30..92d0f9668 100644
--- a/app/scripts/lib/idStore.js
+++ b/app/scripts/lib/idStore.js
@@ -9,7 +9,7 @@ const extend = require('xtend')
const createId = require('web3-provider-engine/util/random-id')
const autoFaucet = require('./auto-faucet')
const configManager = require('./config-manager-singleton')
-const DEFAULT_RPC = 'https://rawtestrpc.metamask.io/'
+const DEFAULT_RPC = 'https://testrpc.metamask.io/'
module.exports = IdentityStore
@@ -72,8 +72,7 @@ IdentityStore.prototype.setStore = function(store){
IdentityStore.prototype.clearSeedWordCache = function(cb) {
configManager.setShowSeedWords(false)
- var accounts = this._loadIdentities()
- cb(null, accounts)
+ cb(null, configManager.getSelectedAccount())
}
IdentityStore.prototype.getState = function(){
@@ -85,6 +84,7 @@ IdentityStore.prototype.getState = function(){
seedWords: seedWords,
unconfTxs: configManager.unconfirmedTxs(),
transactions: configManager.getTxList(),
+ selectedAddress: configManager.getSelectedAccount(),
}))
}
@@ -97,7 +97,7 @@ IdentityStore.prototype.getSeedIfUnlocked = function() {
}
IdentityStore.prototype.getSelectedAddress = function(){
- return this._currentState.selectedAddress
+ return configManager.getSelectedAccount()
}
IdentityStore.prototype.setSelectedAddress = function(address){
@@ -106,7 +106,7 @@ IdentityStore.prototype.setSelectedAddress = function(address){
address = addresses[0]
}
- this._currentState.selectedAddress = address
+ configManager.setSelectedAccount(address)
this._didUpdate()
}
@@ -120,8 +120,8 @@ IdentityStore.prototype.submitPassword = function(password, cb){
this._tryPassword(password, (err) => {
if (err) return cb(err)
// load identities before returning...
- var accounts = this._loadIdentities()
- cb(null, accounts)
+ this._loadIdentities()
+ cb(null, configManager.getSelectedAccount())
})
}
@@ -213,7 +213,6 @@ IdentityStore.prototype._loadIdentities = function(){
if (!this._isUnlocked()) throw new Error('not unlocked')
var addresses = this._getAddresses()
- var accountArray = []
addresses.forEach((address, i) => {
// // add to ethStore
this._ethStore.addAccount(address)
@@ -225,10 +224,8 @@ IdentityStore.prototype._loadIdentities = function(){
mayBeFauceting: this._mayBeFauceting(i),
}
this._currentState.identities[address] = identity
- accountArray.push(identity)
})
this._didUpdate()
- return accountArray
}
// mayBeFauceting