diff options
migration #6 - move selectedAccount from keyringController to preferencesController
-rw-r--r-- | app/scripts/migrations/006.js | 41 | ||||
-rw-r--r-- | app/scripts/migrations/index.js | 1 |
2 files changed, 42 insertions, 0 deletions
diff --git a/app/scripts/migrations/006.js b/app/scripts/migrations/006.js new file mode 100644 index 000000000..b2fcbae15 --- /dev/null +++ b/app/scripts/migrations/006.js @@ -0,0 +1,41 @@ +const version = 6 + +/* + +This migration moves KeyringController.selectedAddress to PreferencesController.selectedAddress + +*/ + +const extend = require('xtend') + +module.exports = { + version, + + migrate: function (versionedData) { + versionedData.meta.version = version + try { + const state = versionedData.data + const newState = migrateState(state) + versionedData.data = newState + } catch (err) { + console.warn(`MetaMask Migration #${version}` + err.stack) + } + return Promise.resolve(versionedData) + }, +} + +function migrateState (state) { + const config = state.config + + // add new state + const newState = extend(state, { + PreferencesController: { + selectedAccount: config.selectedAccount, + }, + }) + + // rm old state + delete newState.KeyringController.selectedAccount + + return newState +} diff --git a/app/scripts/migrations/index.js b/app/scripts/migrations/index.js index a7ce745e7..17c191448 100644 --- a/app/scripts/migrations/index.js +++ b/app/scripts/migrations/index.js @@ -16,4 +16,5 @@ module.exports = [ require('./003'), require('./004'), require('./005'), + require('./006'), ] |