1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-01 13:47:06 +01:00
metamask-extension/app/scripts/migrations/076.js

47 lines
1.3 KiB
JavaScript
Raw Normal View History

import { cloneDeep } from 'lodash';
const version = 76;
/**
* Update to `@metamask/controllers@33.0.0` (rename "Collectible" to "NFT").
*/
export default {
version,
async migrate(originalVersionedData) {
const versionedData = cloneDeep(originalVersionedData);
versionedData.meta.version = version;
const state = versionedData.data;
const newState = transformState(state);
versionedData.data = newState;
return versionedData;
},
};
function transformState(state) {
if (state.CollectiblesController) {
const {
allCollectibleContracts,
allCollectibles,
ignoredCollectibles,
...remainingState
} = state.CollectiblesController;
state.NftController = {
...(allCollectibleContracts
? { allNftContracts: allCollectibleContracts }
: {}),
...(allCollectibles ? { allNfts: allCollectibles } : {}),
...(ignoredCollectibles ? { ignoredNfts: ignoredCollectibles } : {}),
...remainingState,
};
delete state.CollectiblesController;
}
if (state.PreferencesController?.useCollectibleDetection) {
state.PreferencesController.useNftDetection =
state.PreferencesController.useCollectibleDetection;
delete state.PreferencesController.useCollectibleDetection;
}
return state;
}