mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-28 23:06:37 +01:00
3b0d37c3bf
* Handle the case where tokensChainsCache data is undefined in migration 77 * Delete parts of state that should have been removed in migrations 82,84,86 and 88 * Create 077-supplements.md * Update 077-supplements.md * Update 077-supplements/*.js code comments * Fix types and jsdoc * Type/lint fix * Cleanup * Add 'should set data to an empty object if it is null' test case to 077.test.js * Update app/scripts/migrations/077.test.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Modify deletion criteria so that all decimal chain id proprties are deleted in migration 88 supplement * Readme.md * Update app/scripts/migrations/077.test.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update app/scripts/migrations/077.test.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Update app/scripts/migrations/077.test.js Co-authored-by: Mark Stacey <markjstacey@gmail.com> * Lint fix * Only delete decimal chain id keyed-entries in migration 88 supplement if there are hexadecimal keyed entries as well * Remove redundant test * Add 'does not delete' cases for nftcontroller related tests in 077.test.js --------- Co-authored-by: Mark Stacey <markjstacey@gmail.com>
26 lines
808 B
TypeScript
26 lines
808 B
TypeScript
import { hasProperty, isObject } from '@metamask/utils';
|
|
|
|
/**
|
|
* Deletes frequentRpcListDetail if networkConfigurations exists, on the NetworkController state.
|
|
* Further explanation in ./077-supplements.md
|
|
*
|
|
* @param state - The persisted MetaMask state, keyed by controller.
|
|
* @returns Updated versioned MetaMask extension state.
|
|
*/
|
|
|
|
export default function transformState077For082(
|
|
state: Record<string, unknown>,
|
|
) {
|
|
if (
|
|
hasProperty(state, 'PreferencesController') &&
|
|
isObject(state.PreferencesController) &&
|
|
hasProperty(state.PreferencesController, 'frequentRpcListDetail') &&
|
|
isObject(state.NetworkController) &&
|
|
hasProperty(state.NetworkController, 'networkConfigurations')
|
|
) {
|
|
delete state.PreferencesController.frequentRpcListDetail;
|
|
}
|
|
|
|
return { ...state };
|
|
}
|