text: /*
  
  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;
  }
  