From 0a1918f71a0a5768d7501e3ee799a3ed2e6d9f49 Mon Sep 17 00:00:00 2001 From: kumavis Date: Mon, 30 Jan 2017 12:42:24 -0800 Subject: preferences - introduce preferences controller --- app/scripts/lib/controllers/preferences.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 app/scripts/lib/controllers/preferences.js (limited to 'app/scripts/lib') diff --git a/app/scripts/lib/controllers/preferences.js b/app/scripts/lib/controllers/preferences.js new file mode 100644 index 000000000..e338f5b5e --- /dev/null +++ b/app/scripts/lib/controllers/preferences.js @@ -0,0 +1,30 @@ +const ObservableStore = require('obs-store') +const normalizeAddress = require('../sig-util').normalize + +class PreferencesController { + + constructor (opts = {}) { + const initState = opts.initState || {} + this.store = new ObservableStore(initState) + } + + // + // PUBLIC METHODS + // + + setSelectedAddress(_address) { + const address = normalizeAddress(_address) + this.store.updateState({ selectedAddress: address }) + } + + getSelectedAddress(_address) { + return this.store.getState().selectedAddress + } + + // + // PRIVATE METHODS + // + +} + +module.exports = PreferencesController -- cgit v1.2.3 From f9b31fe2c3a43339a4519761e4c8b2f3813e85e0 Mon Sep 17 00:00:00 2001 From: kumavis Date: Mon, 30 Jan 2017 15:08:31 -0800 Subject: rename selectedAccount to selectedAddress --- app/scripts/lib/controllers/preferences.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'app/scripts/lib') diff --git a/app/scripts/lib/controllers/preferences.js b/app/scripts/lib/controllers/preferences.js index e338f5b5e..dc9464c4e 100644 --- a/app/scripts/lib/controllers/preferences.js +++ b/app/scripts/lib/controllers/preferences.js @@ -13,8 +13,11 @@ class PreferencesController { // setSelectedAddress(_address) { - const address = normalizeAddress(_address) - this.store.updateState({ selectedAddress: address }) + return new Promise((resolve, reject) => { + const address = normalizeAddress(_address) + this.store.updateState({ selectedAddress: address }) + resolve() + }) } getSelectedAddress(_address) { -- cgit v1.2.3 From 2fa60cfcbfdeb43599007f0dd26fd44a4beec8f1 Mon Sep 17 00:00:00 2001 From: kumavis Date: Mon, 30 Jan 2017 15:25:12 -0800 Subject: continue rename selectedAccount to selectedAddress --- app/scripts/lib/inpage-provider.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'app/scripts/lib') diff --git a/app/scripts/lib/inpage-provider.js b/app/scripts/lib/inpage-provider.js index 066916b4d..faecac137 100644 --- a/app/scripts/lib/inpage-provider.js +++ b/app/scripts/lib/inpage-provider.js @@ -63,20 +63,20 @@ function MetamaskInpageProvider (connectionStream) { MetamaskInpageProvider.prototype.send = function (payload) { const self = this - let selectedAccount + let selectedAddress let result = null switch (payload.method) { case 'eth_accounts': // read from localStorage - selectedAccount = self.publicConfigStore.getState().selectedAccount - result = selectedAccount ? [selectedAccount] : [] + selectedAddress = self.publicConfigStore.getState().selectedAddress + result = selectedAddress ? [selectedAddress] : [] break case 'eth_coinbase': // read from localStorage - selectedAccount = self.publicConfigStore.getState().selectedAccount - result = selectedAccount || '0x0000000000000000000000000000000000000000' + selectedAddress = self.publicConfigStore.getState().selectedAddress + result = selectedAddress break case 'eth_uninstallFilter': -- cgit v1.2.3