From 4ea3246912306ac52d520b8c34180392c0afcba7 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Thu, 6 Oct 2016 03:24:28 -0700 Subject: Add controller functions for storing and checking TOS hashes. --- app/scripts/metamask-controller.js | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 03082013a..0a37bf292 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -25,6 +25,7 @@ module.exports = class MetamaskController { var currentFiat = this.configManager.getCurrentFiat() || 'USD' this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() + this.configManager.setTOSHash(0) this.scheduleConversionInterval() } @@ -45,8 +46,11 @@ module.exports = class MetamaskController { setProviderType: this.setProviderType.bind(this), useEtherscanProvider: this.useEtherscanProvider.bind(this), agreeToDisclaimer: this.agreeToDisclaimer.bind(this), + resetDisclaimer: this.resetDisclaimer.bind(this), setCurrentFiat: this.setCurrentFiat.bind(this), agreeToEthWarning: this.agreeToEthWarning.bind(this), + setTOSHash: this.setTOSHash.bind(this), + checkTOSChange: this.checkTOSChange.bind(this), // forward directly to idStore createNewVault: idStore.createNewVault.bind(idStore), @@ -261,6 +265,26 @@ module.exports = class MetamaskController { // config // + setTOSHash (hash, cb) { + try { + this.configManager.setTOSHash(hash) + cb(this.configManager.getTOSHash()) + } catch (e) { + cb(null, e) + } + } + + checkTOSChange (newHash, cb) { + try { + var currentHash = this.configManager.getTOSHash() + var change = !(currentHash === newHash) + cb(change) + } catch (e) { + cb(null, e) + } + + } + agreeToDisclaimer (cb) { try { this.configManager.setConfirmed(true) @@ -270,6 +294,14 @@ module.exports = class MetamaskController { } } + resetDisclaimer () { + try { + this.configManager.setConfirmed(false) + } catch (e) { + console.error(e) + } + } + setCurrentFiat (fiat, cb) { try { this.configManager.setCurrentFiat(fiat) @@ -304,6 +336,8 @@ module.exports = class MetamaskController { } } + + // called from popup setRpcTarget (rpcTarget) { this.configManager.setRpcTarget(rpcTarget) @@ -341,4 +375,3 @@ module.exports = class MetamaskController { this.configManager.createShapeShiftTx(depositAddress, depositType) } } - -- cgit From e4f2cd2e092d421f93fd9e6678f6f916a33f9760 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Fri, 7 Oct 2016 01:42:13 -0700 Subject: Fix retention of terms of service hash across reloads of plugin. --- app/scripts/metamask-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 0a37bf292..7b7bd1c1b 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -25,7 +25,7 @@ module.exports = class MetamaskController { var currentFiat = this.configManager.getCurrentFiat() || 'USD' this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() - this.configManager.setTOSHash(0) + var currentHash = this.configManager.getTOSHash() || 0 this.scheduleConversionInterval() } -- cgit From 21d19594356a5725976180f00bb07468465c8a54 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Fri, 7 Oct 2016 01:54:12 -0700 Subject: Fix linting and guarantees set TOS hash. --- app/scripts/metamask-controller.js | 1 + 1 file changed, 1 insertion(+) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 7b7bd1c1b..c763d571c 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -26,6 +26,7 @@ module.exports = class MetamaskController { this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() var currentHash = this.configManager.getTOSHash() || 0 + this.configManager.setTOSHash(currentHash) this.scheduleConversionInterval() } -- cgit From 79a99ac93bf1655b431471cf084bb718063c9928 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Tue, 11 Oct 2016 14:33:30 -0700 Subject: Move tos hash comparison logic from background to mm controller. --- app/scripts/metamask-controller.js | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index c763d571c..29c62a85d 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -7,6 +7,7 @@ const HostStore = require('./lib/remote-store.js').HostStore const Web3 = require('web3') const ConfigManager = require('./lib/config-manager') const extension = require('./lib/extension') +const newTOSHash = global.TOS_HASH module.exports = class MetamaskController { @@ -22,12 +23,15 @@ module.exports = class MetamaskController { this.idStore.setStore(this.ethStore) this.messageManager = messageManager this.publicConfigStore = this.initPublicConfigStore() + var currentFiat = this.configManager.getCurrentFiat() || 'USD' this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() - var currentHash = this.configManager.getTOSHash() || 0 - this.configManager.setTOSHash(currentHash) + + this.checkTOSChange() + this.scheduleConversionInterval() + } getState () { @@ -266,22 +270,23 @@ module.exports = class MetamaskController { // config // - setTOSHash (hash, cb) { + setTOSHash (hash) { try { this.configManager.setTOSHash(hash) - cb(this.configManager.getTOSHash()) } catch (e) { - cb(null, e) + console.error('Error in setting terms of service hash.') } } - checkTOSChange (newHash, cb) { + checkTOSChange () { try { - var currentHash = this.configManager.getTOSHash() - var change = !(currentHash === newHash) - cb(change) + const storedHash = this.configManager.getTOSHash() || 0 + if (storedHash !== global.newTOSHash) { + this.resetDisclaimer() + this.setTOSHash(global.newTOSHash) + } } catch (e) { - cb(null, e) + console.error("Error in checking TOS change.") } } -- cgit From f7361d9654b1a55d0c21ba37b11e1575e7a555ca Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Tue, 11 Oct 2016 14:49:24 -0700 Subject: lint --- app/scripts/metamask-controller.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 29c62a85d..7ce84018e 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -7,7 +7,6 @@ const HostStore = require('./lib/remote-store.js').HostStore const Web3 = require('web3') const ConfigManager = require('./lib/config-manager') const extension = require('./lib/extension') -const newTOSHash = global.TOS_HASH module.exports = class MetamaskController { @@ -286,7 +285,7 @@ module.exports = class MetamaskController { this.setTOSHash(global.newTOSHash) } } catch (e) { - console.error("Error in checking TOS change.") + console.error('Error in checking TOS change.') } } -- cgit From 5e9bc31c58aff4b9d1d0d1bd54416ffb0a1b14d3 Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Tue, 11 Oct 2016 15:50:02 -0700 Subject: Cleanup. --- app/scripts/metamask-controller.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'app/scripts/metamask-controller.js') diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 7ce84018e..550531d6e 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -341,8 +341,6 @@ module.exports = class MetamaskController { } } - - // called from popup setRpcTarget (rpcTarget) { this.configManager.setRpcTarget(rpcTarget) -- cgit