From 6480c2d8a612a966091aa69c8af5462274e8d04c Mon Sep 17 00:00:00 2001 From: kumavis Date: Sun, 29 Jan 2017 23:59:17 -0800 Subject: [PATCH 1/2] public config - get selectedAccount from keyring controller substate --- app/scripts/metamask-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index cf58d2477..422fda3d7 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -146,7 +146,7 @@ module.exports = class MetamaskController extends EventEmitter { function selectPublicState(state) { const result = { selectedAccount: undefined } try { - result.selectedAccount = state.config.selectedAccount + result.selectedAccount = state.KeyringController.selectedAccount } catch (_) {} return result } From dd528d886f1d2e017cd55ba7e003493f0bc4579c Mon Sep 17 00:00:00 2001 From: kumavis Date: Mon, 30 Jan 2017 00:32:04 -0800 Subject: [PATCH 2/2] metamask - lookup selectedAccount via keyringController --- app/scripts/keyring-controller.js | 9 +++++++++ app/scripts/metamask-controller.js | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/scripts/keyring-controller.js b/app/scripts/keyring-controller.js index 68fc6e882..40cc975f9 100644 --- a/app/scripts/keyring-controller.js +++ b/app/scripts/keyring-controller.js @@ -244,6 +244,15 @@ class KeyringController extends EventEmitter { return this.fullUpdate() } + // Get Selected Account + // + // returns String + // + // Gets the state's `selectedAccount` value + getSelectedAccount () { + return this.store.getState().selectedAccount + } + // Save Account Label // @string account // @string label diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 422fda3d7..b9a94b0c9 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -65,7 +65,7 @@ module.exports = class MetamaskController extends EventEmitter { txList: this.configManager.getTxList(), txHistoryLimit: 40, setTxList: this.configManager.setTxList.bind(this.configManager), - getSelectedAccount: this.configManager.getSelectedAccount.bind(this.configManager), + getSelectedAccount: this.keyringController.getSelectedAccount.bind(this.keyringController), getGasMultiplier: this.configManager.getGasMultiplier.bind(this.configManager), getNetwork: this.getStateNetwork.bind(this), signTransaction: this.keyringController.signTransaction.bind(this.keyringController), @@ -116,7 +116,7 @@ module.exports = class MetamaskController extends EventEmitter { rpcUrl: this.configManager.getCurrentRpcAddress(), // account mgmt getAccounts: (cb) => { - let selectedAccount = this.configManager.getSelectedAccount() + let selectedAccount = this.keyringController.getSelectedAccount() let result = selectedAccount ? [selectedAccount] : [] cb(null, result) }, @@ -330,7 +330,7 @@ module.exports = class MetamaskController extends EventEmitter { // ensuring they are only ever available in the background process. clearSeedWordCache (cb) { this.configManager.setSeedWords(null) - cb(null, this.configManager.getSelectedAccount()) + cb(null, this.keyringController.getSelectedAccount()) } importAccountWithStrategy (strategy, args, cb) {