1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 08:09:15 +01:00
metamask-extension/app/scripts/migrations/051.js
Dan J Miller 2431a5821c
Migration 51: ensure chainId is set in state for default/infura providers (#10170)
* Migration 51: ensure chainId is set in network controller provider state for all infura/default networks

* Clean up

* Migrate incorrect as well as falsy chainIds

Co-authored-by: Erik Marks <rekmarks@protonmail.com>
2021-01-11 11:09:15 -03:30

29 lines
794 B
JavaScript

import { cloneDeep } from 'lodash'
import { NETWORK_TYPE_TO_ID_MAP } from '../controllers/network/enums'
const version = 51
/**
* Set the chainId in the Network Controller provider data for all infura networks
*/
export default {
version,
async migrate(originalVersionedData) {
const versionedData = cloneDeep(originalVersionedData)
versionedData.meta.version = version
const state = versionedData.data
versionedData.data = transformState(state)
return versionedData
},
}
function transformState(state) {
const { chainId, type } = state?.NetworkController?.provider || {}
const enumChainId = NETWORK_TYPE_TO_ID_MAP[type]?.chainId
if (enumChainId && chainId !== enumChainId) {
state.NetworkController.provider.chainId = enumChainId
}
return state
}