aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/scripts/config.js3
-rw-r--r--app/scripts/lib/config-manager.js11
-rw-r--r--app/scripts/lib/idStore.js2
-rw-r--r--app/scripts/metamask-controller.js38
4 files changed, 52 insertions, 2 deletions
diff --git a/app/scripts/config.js b/app/scripts/config.js
index b7e72eb64..e40b5e104 100644
--- a/app/scripts/config.js
+++ b/app/scripts/config.js
@@ -2,7 +2,8 @@ const MAINET_RPC_URL = 'https://mainnet.infura.io/metamask'
const TESTNET_RPC_URL = 'https://morden.infura.io/metamask'
const DEFAULT_RPC_URL = TESTNET_RPC_URL
-global.METAMASK_DEBUG = false
+global.METAMASK_DEBUG = 'GULP_METAMASK_DEBUG'
+global.TOS_HASH = 'GULP_TOS_HASH'
module.exports = {
network: {
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js
index 715efb42e..ecc9bc5f7 100644
--- a/app/scripts/lib/config-manager.js
+++ b/app/scripts/lib/config-manager.js
@@ -277,6 +277,17 @@ ConfigManager.prototype.getConfirmed = function () {
return ('isConfirmed' in data) && data.isConfirmed
}
+ConfigManager.prototype.setTOSHash = function (hash) {
+ var data = this.getData()
+ data.TOSHash = hash
+ this.setData(data)
+}
+
+ConfigManager.prototype.getTOSHash = function () {
+ var data = this.getData()
+ return ('TOSHash' in data) && data.TOSHash
+}
+
ConfigManager.prototype.setCurrentFiat = function (currency) {
var data = this.getData()
data.fiatCurrency = currency
diff --git a/app/scripts/lib/idStore.js b/app/scripts/lib/idStore.js
index 89c0c3abc..6837a1e8d 100644
--- a/app/scripts/lib/idStore.js
+++ b/app/scripts/lib/idStore.js
@@ -60,6 +60,8 @@ IdentityStore.prototype.createNewVault = function (password, entropy, cb) {
this.configManager.setShowSeedWords(true)
var seedWords = this._idmgmt.getSeed()
+ this._loadIdentities()
+
cb(null, seedWords)
})
}
diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js
index 03082013a..550531d6e 100644
--- a/app/scripts/metamask-controller.js
+++ b/app/scripts/metamask-controller.js
@@ -22,10 +22,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()
+
+ this.checkTOSChange()
+
this.scheduleConversionInterval()
+
}
getState () {
@@ -45,8 +50,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 +269,27 @@ module.exports = class MetamaskController {
// config
//
+ setTOSHash (hash) {
+ try {
+ this.configManager.setTOSHash(hash)
+ } catch (e) {
+ console.error('Error in setting terms of service hash.')
+ }
+ }
+
+ checkTOSChange () {
+ try {
+ const storedHash = this.configManager.getTOSHash() || 0
+ if (storedHash !== global.newTOSHash) {
+ this.resetDisclaimer()
+ this.setTOSHash(global.newTOSHash)
+ }
+ } catch (e) {
+ console.error('Error in checking TOS change.')
+ }
+
+ }
+
agreeToDisclaimer (cb) {
try {
this.configManager.setConfirmed(true)
@@ -270,6 +299,14 @@ module.exports = class MetamaskController {
}
}
+ resetDisclaimer () {
+ try {
+ this.configManager.setConfirmed(false)
+ } catch (e) {
+ console.error(e)
+ }
+ }
+
setCurrentFiat (fiat, cb) {
try {
this.configManager.setCurrentFiat(fiat)
@@ -341,4 +378,3 @@ module.exports = class MetamaskController {
this.configManager.createShapeShiftTx(depositAddress, depositType)
}
}
-