/* This migration moves state from the flat state trie into KeyringController substate */ import { cloneDeep } from 'lodash' const version = 5 export default { version, migrate (originalVersionedData) { const versionedData = cloneDeep(originalVersionedData) versionedData.meta.version = version try { const state = versionedData.data const newState = selectSubstateForKeyringController(state) versionedData.data = newState } catch (err) { console.warn(`MetaMask Migration #5${err.stack}`) } return Promise.resolve(versionedData) }, } function selectSubstateForKeyringController (state) { const { config } = state const newState = { ...state, KeyringController: { vault: state.vault, selectedAccount: config.selectedAccount, walletNicknames: state.walletNicknames, }, } delete newState.vault delete newState.walletNicknames delete newState.config.selectedAccount return newState }