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'), ] diff --git a/test/unit/migrations-test.js b/test/unit/migrations-test.js index 715a5feb0..e4353b313 100644 --- a/test/unit/migrations-test.js +++ b/test/unit/migrations-test.js @@ -6,6 +6,7 @@ const wallet1 = require(path.join('..', 'lib', 'migrations', '001.json')) const migration2 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '002')) const migration3 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '003')) const migration4 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '004')) +const migration11 = require(path.join('..', '..', 'app', 'scripts', 'migrations', '011')) const oldTestRpc = 'https://rawtestrpc.metamask.io/' const newTestRpc = 'https://testrpc.metamask.io/' @@ -27,8 +28,11 @@ describe('wallet1 is migrated successfully', function() { }).then((thirdResult) => { assert.equal(thirdResult.data.config.provider.rpcTarget, null) assert.equal(thirdResult.data.config.provider.type, 'testnet') + return migration11.migrate(thirdResult) + }).then((eleventhResult) => { + assert.equal(eleventhResult.data.isDisclaimerConfirmed, null) + assert.equal(eleventhResult.data.TOSHash, null) }) - + }) }) -