On update, check whether the TOS has changed using hashes.

This commit is contained in:
Kevin Serrano 2016-10-06 03:25:03 -07:00
parent 4ea3246912
commit 0a9b814f11
No known key found for this signature in database
GPG Key ID: 7CC862A58D2889B4
1 changed files with 16 additions and 1 deletions

View File

@ -8,6 +8,9 @@ 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 disclaimer = fs.readFileSync(path.join(__dirname, '..', '..', 'USER_AGREEMENT.md')).toString()
const stringHash = require('string-hash')
const STORAGE_KEY = 'metamask-config'
var popupIsOpen = false
@ -29,8 +32,20 @@ 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') {
extension.tabs.create({url: 'https://metamask.io/#how-it-works'})
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'})
})
}
})
}
})