diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-04-26 05:14:34 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-04-26 05:14:34 +0800 |
commit | 1025eb3b4f90c2b909fe9d238cebba878c8ce2db (patch) | |
tree | 22545ef15f6bb672e3f3070cda9de3a80504ebd2 /app/scripts/lib | |
parent | 88ed546a9ae9a04f9ba09fe1d24910fe6c88292f (diff) | |
download | tangerine-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.js | 11 | ||||
-rw-r--r-- | app/scripts/lib/idStore.js | 17 |
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 |