1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-23 03:36:18 +02:00
metamask-extension/app/scripts/migrations/030.js
Frankie 0ad7797076
I#5956 fix 1 (#6026)
* prevent invalid chainId's when adding cusstom rpcs

* migration 30 removes invalid chaids from preferences and networkController for custom rpcs
2019-01-17 09:10:33 -10:00

48 lines
1.3 KiB
JavaScript

// next version number
const version = 30
/*
removes invalid chaids from preferences and networkController for custom rpcs
*/
const clone = require('clone')
module.exports = {
version,
migrate: async function (originalVersionedData) {
const versionedData = clone(originalVersionedData)
versionedData.meta.version = version
const state = versionedData.data
const newState = transformState(state)
versionedData.data = newState
return versionedData
},
}
function transformState (state) {
const newState = state
const frequentRpcListDetail = newState.PreferencesController.frequentRpcListDetail
if (frequentRpcListDetail) {
frequentRpcListDetail.forEach((rpc, index) => {
if (!!rpc.chainId && Number.isNaN(parseInt(rpc.chainId))) {
delete frequentRpcListDetail[index].chainId
}
})
newState.PreferencesController.frequentRpcListDetail = frequentRpcListDetail
}
if (newState.NetworkController.network && Number.isNaN(parseInt(newState.NetworkController.network))) {
delete newState.NetworkController.network
}
if (newState.NetworkController.provider && newState.NetworkController.provider.chainId && Number.isNaN(parseInt(newState.NetworkController.provider.chainId))) {
delete newState.NetworkController.provider.chainId
}
return newState
}