text: const version = 5
  
  /*
  
  This migration moves state from the flat state trie into KeyringController substate
  
  */
  
  const extend = require('xtend')
  const clone = require('clone')
  
  
  module.exports = {
    version,
  
    migrate: function (originalVersionedData) {
      let versionedData = clone(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.config
    const newState = extend(state, {
      KeyringController: {
        vault: state.vault,
        selectedAccount: config.selectedAccount,
        walletNicknames: state.walletNicknames,
      },
    })
    delete newState.vault
    delete newState.walletNicknames
    delete newState.config.selectedAccount
  
    return newState
  }
  