aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/migrations
diff options
context:
space:
mode:
authorfrankiebee <frankie.diamond@gmail.com>2018-05-23 07:45:20 +0800
committerfrankiebee <frankie.diamond@gmail.com>2018-05-23 07:45:20 +0800
commit61caee9d944615a48c43e4eb66b204c1e8b9ae6d (patch)
tree1ac62947cd2a740bbf63b8a045ff82e4deeeb250 /app/scripts/migrations
parentc4b09da34e9950ea485dfecb810726e49b683dcd (diff)
parent145016be4c681b725d3450f59cb2892f0ec6d993 (diff)
downloadtangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar.gz
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar.bz2
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar.lz
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar.xz
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.tar.zst
tangerine-wallet-browser-61caee9d944615a48c43e4eb66b204c1e8b9ae6d.zip
Merge branch 'network-remove-provider-engine' of https://github.com/MetaMask/metamask-extension into transactions-use-new-block-tracker
Diffstat (limited to 'app/scripts/migrations')
-rw-r--r--app/scripts/migrations/026.js47
-rw-r--r--app/scripts/migrations/index.js1
2 files changed, 48 insertions, 0 deletions
diff --git a/app/scripts/migrations/026.js b/app/scripts/migrations/026.js
new file mode 100644
index 000000000..1b8a91a45
--- /dev/null
+++ b/app/scripts/migrations/026.js
@@ -0,0 +1,47 @@
+const version = 26
+
+/*
+
+This migration moves the identities stored in the KeyringController
+ into the PreferencesController
+
+*/
+
+const clone = require('clone')
+
+module.exports = {
+ version,
+ migrate (originalVersionedData) {
+ const versionedData = clone(originalVersionedData)
+ versionedData.meta.version = version
+ try {
+ const state = versionedData.data
+ versionedData.data = transformState(state)
+ } catch (err) {
+ console.warn(`MetaMask Migration #${version}` + err.stack)
+ return Promise.reject(err)
+ }
+ return Promise.resolve(versionedData)
+ },
+}
+
+function transformState (state) {
+ if (!state.KeyringController || !state.PreferencesController) {
+ return
+ }
+
+ if (!state.KeyringController.walletNicknames) {
+ return state
+ }
+
+ state.PreferencesController.identities = Object.keys(state.KeyringController.walletNicknames)
+ .reduce((identities, address) => {
+ identities[address] = {
+ name: state.KeyringController.walletNicknames[address],
+ address,
+ }
+ return identities
+ }, {})
+ delete state.KeyringController.walletNicknames
+ return state
+}
diff --git a/app/scripts/migrations/index.js b/app/scripts/migrations/index.js
index 6c4a51b32..04d90bfff 100644
--- a/app/scripts/migrations/index.js
+++ b/app/scripts/migrations/index.js
@@ -36,4 +36,5 @@ module.exports = [
require('./023'),
require('./024'),
require('./025'),
+ require('./026'),
]