From cd75d861874f300fdca7b20274d170d0023d6caf Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Tue, 14 Feb 2017 13:21:00 -0800 Subject: Add migrations for removing terms of use data. --- app/scripts/migrations/011.js | 30 ++++++++++++++++++++++++++++++ app/scripts/migrations/index.js | 1 + 2 files changed, 31 insertions(+) create mode 100644 app/scripts/migrations/011.js (limited to 'app/scripts/migrations') diff --git a/app/scripts/migrations/011.js b/app/scripts/migrations/011.js new file mode 100644 index 000000000..227fd87f7 --- /dev/null +++ b/app/scripts/migrations/011.js @@ -0,0 +1,30 @@ +const version = 11 + +/* + +This migration breaks out the CurrencyController substate + +*/ + +module.exports = { + version, + + migrate: function (versionedData) { + versionedData.meta.version = version + try { + const state = versionedData.data + const newState = transformState(state) + versionedData.data = newState + } catch (err) { + console.warn(`MetaMask Migration #${version}` + err.stack) + } + return Promise.resolve(versionedData) + }, +} + +function transformState (state) { + const newState = state + delete newState.TOSHash + delete newState.isDisclaimerConfirmed + return newState +} diff --git a/app/scripts/migrations/index.js b/app/scripts/migrations/index.js index 2db8646b0..a3dd48c17 100644 --- a/app/scripts/migrations/index.js +++ b/app/scripts/migrations/index.js @@ -21,4 +21,5 @@ module.exports = [ require('./008'), require('./009'), require('./010'), + require('./011'), ] -- cgit From 75f7c1244a43e48d45767e559a3b1b48f068030b Mon Sep 17 00:00:00 2001 From: Kevin Serrano Date: Wed, 15 Feb 2017 11:14:53 -0800 Subject: Made migrations non-destructive; fixed currency migration. --- app/scripts/migrations/002.js | 6 +++++- app/scripts/migrations/003.js | 5 ++++- app/scripts/migrations/004.js | 17 ++++++++++------- app/scripts/migrations/005.js | 7 +++++-- app/scripts/migrations/006.js | 6 ++++-- app/scripts/migrations/007.js | 6 ++++-- app/scripts/migrations/008.js | 6 ++++-- app/scripts/migrations/009.js | 9 ++++++--- app/scripts/migrations/010.js | 4 +++- app/scripts/migrations/011.js | 5 ++++- 10 files changed, 49 insertions(+), 22 deletions(-) (limited to 'app/scripts/migrations') diff --git a/app/scripts/migrations/002.js b/app/scripts/migrations/002.js index 476b0a43a..36a870342 100644 --- a/app/scripts/migrations/002.js +++ b/app/scripts/migrations/002.js @@ -1,9 +1,13 @@ const version = 2 +const clone = require('clone') + + module.exports = { version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { if (versionedData.data.config.provider.type === 'etherscan') { diff --git a/app/scripts/migrations/003.js b/app/scripts/migrations/003.js index eceaeaa4b..1893576ad 100644 --- a/app/scripts/migrations/003.js +++ b/app/scripts/migrations/003.js @@ -2,10 +2,13 @@ const version = 3 const oldTestRpc = 'https://rawtestrpc.metamask.io/' const newTestRpc = 'https://testrpc.metamask.io/' +const clone = require('clone') + module.exports = { version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { if (versionedData.data.config.provider.rpcTarget === oldTestRpc) { diff --git a/app/scripts/migrations/004.js b/app/scripts/migrations/004.js index 0f9850208..405d932f8 100644 --- a/app/scripts/migrations/004.js +++ b/app/scripts/migrations/004.js @@ -1,25 +1,28 @@ const version = 4 +const clone = require('clone') + module.exports = { - version, + version, migrate: function (versionedData) { - versionedData.meta.version = version + let safeVersionedData = clone(versionedData) + safeVersionedData.meta.version = version try { - if (versionedData.data.config.provider.type !== 'rpc') return Promise.resolve(versionedData) - switch (versionedData.data.config.provider.rpcTarget) { + if (safeVersionedData.data.config.provider.type !== 'rpc') return Promise.resolve(safeVersionedData) + switch (safeVersionedData.data.config.provider.rpcTarget) { case 'https://testrpc.metamask.io/': - versionedData.data.config.provider = { + safeVersionedData.data.config.provider = { type: 'testnet', } break case 'https://rpc.metamask.io/': - versionedData.data.config.provider = { + safeVersionedData.data.config.provider = { type: 'mainnet', } break } } catch (_) {} - return Promise.resolve(versionedData) + return Promise.resolve(safeVersionedData) }, } diff --git a/app/scripts/migrations/005.js b/app/scripts/migrations/005.js index 65f62a861..e4b84f460 100644 --- a/app/scripts/migrations/005.js +++ b/app/scripts/migrations/005.js @@ -7,11 +7,14 @@ This migration moves state from the flat state trie into KeyringController subst */ const extend = require('xtend') +const clone = require('clone') + module.exports = { - version, + version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data diff --git a/app/scripts/migrations/006.js b/app/scripts/migrations/006.js index 950c4deb8..94d1b6ecd 100644 --- a/app/scripts/migrations/006.js +++ b/app/scripts/migrations/006.js @@ -7,11 +7,13 @@ This migration moves KeyringController.selectedAddress to PreferencesController. */ const extend = require('xtend') +const clone = require('clone') module.exports = { - version, + version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data diff --git a/app/scripts/migrations/007.js b/app/scripts/migrations/007.js index 3ae8cdc2d..236e35224 100644 --- a/app/scripts/migrations/007.js +++ b/app/scripts/migrations/007.js @@ -7,11 +7,13 @@ This migration breaks out the TransactionManager substate */ const extend = require('xtend') +const clone = require('clone') module.exports = { - version, + version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data diff --git a/app/scripts/migrations/008.js b/app/scripts/migrations/008.js index 7f6e72ee6..cd5e95d22 100644 --- a/app/scripts/migrations/008.js +++ b/app/scripts/migrations/008.js @@ -7,11 +7,13 @@ This migration breaks out the NoticeController substate */ const extend = require('xtend') +const clone = require('clone') module.exports = { - version, + version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data diff --git a/app/scripts/migrations/009.js b/app/scripts/migrations/009.js index 38e6dcc09..4612fefdc 100644 --- a/app/scripts/migrations/009.js +++ b/app/scripts/migrations/009.js @@ -7,11 +7,13 @@ This migration breaks out the CurrencyController substate */ const merge = require('deep-extend') +const clone = require('clone') module.exports = { - version, + version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data @@ -27,12 +29,13 @@ module.exports = { function transformState (state) { const newState = merge({}, state, { CurrencyController: { - currentCurrency: state.currentFiat || 'USD', + currentCurrency: state.currentFiat || state.fiatCurrency || 'USD', conversionRate: state.conversionRate, conversionDate: state.conversionDate, }, }) delete newState.currentFiat + delete newState.fiatCurrency delete newState.conversionRate delete newState.conversionDate diff --git a/app/scripts/migrations/010.js b/app/scripts/migrations/010.js index d41c63fcd..48a841bc1 100644 --- a/app/scripts/migrations/010.js +++ b/app/scripts/migrations/010.js @@ -7,11 +7,13 @@ This migration breaks out the CurrencyController substate */ const merge = require('deep-extend') +const clone = require('clone') module.exports = { version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data diff --git a/app/scripts/migrations/011.js b/app/scripts/migrations/011.js index 227fd87f7..bf283ef98 100644 --- a/app/scripts/migrations/011.js +++ b/app/scripts/migrations/011.js @@ -6,10 +6,13 @@ This migration breaks out the CurrencyController substate */ +const clone = require('clone') + module.exports = { version, - migrate: function (versionedData) { + migrate: function (originalVersionedData) { + let versionedData = clone(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data -- cgit