mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 01:39:44 +01:00
Move tos hash comparison logic from background to mm controller.
This commit is contained in:
parent
26bd4b25ef
commit
79a99ac93b
@ -8,10 +8,6 @@ const messageManager = require('./lib/message-manager')
|
||||
const setupMultiplex = require('./lib/stream-utils.js').setupMultiplex
|
||||
const MetamaskController = require('./metamask-controller')
|
||||
const extension = require('./lib/extension')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const disclaimer = fs.readFileSync(path.join(__dirname, '..', '..', 'USER_AGREEMENT.md')).toString()
|
||||
const stringHash = require('string-hash')
|
||||
|
||||
const STORAGE_KEY = 'metamask-config'
|
||||
var popupIsOpen = false
|
||||
@ -33,20 +29,8 @@ function triggerUi () {
|
||||
// On first install, open a window to MetaMask website to how-it-works.
|
||||
|
||||
extension.runtime.onInstalled.addListener(function (details) {
|
||||
const newTOSHash = stringHash(disclaimer)
|
||||
if (details.reason === 'install') {
|
||||
controller.setTOSHash(newTOSHash, () => {
|
||||
extension.tabs.create({url: 'https://metamask.io/#how-it-works'})
|
||||
})
|
||||
} else if (details.reason === 'update') {
|
||||
controller.checkTOSChange(newTOSHash, (hasChanged) => {
|
||||
if (hasChanged) {
|
||||
controller.resetDisclaimer()
|
||||
controller.setTOSHash(newTOSHash, () => {
|
||||
extension.tabs.create({url: 'https://metamask.io/terms.html'})
|
||||
})
|
||||
}
|
||||
})
|
||||
extension.tabs.create({url: 'https://metamask.io/#how-it-works'})
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -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.")
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user