mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 09:57:02 +01:00
Change migration 78 version to 79, 79 to 80 and 80 to 78 (so that the… (#17980)
* Change migration 78 version to 79, 79 to 80 and 80 to 78 (so that the new 78 can be picked into an RC) * Update migration imports
This commit is contained in:
parent
f5e2183a7f
commit
a5dcc60697
@ -1,173 +1,108 @@
|
|||||||
import migration78 from './078';
|
import { migrate, version } from './078';
|
||||||
|
|
||||||
describe('migration #78', () => {
|
describe('migration #78', () => {
|
||||||
it('should update the version metadata', async () => {
|
it('updates the version metadata', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 77,
|
version: 77,
|
||||||
},
|
},
|
||||||
|
data: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
const newStorage = await migration78.migrate(oldStorage);
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
expect(newStorage.meta).toStrictEqual({
|
expect(newStorage.meta).toStrictEqual({
|
||||||
version: 78,
|
version,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should remove the "collectiblesDetectionNoticeDismissed"', async () => {
|
it('does not change the state if the phishing controller state does not exist', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 77,
|
||||||
|
},
|
||||||
|
data: { test: '123' },
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
|
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
||||||
|
});
|
||||||
|
|
||||||
|
const nonObjects = [undefined, null, 'test', 1, ['test']];
|
||||||
|
|
||||||
|
for (const invalidState of nonObjects) {
|
||||||
|
it(`does not change the state if the phishing controller state is ${invalidState}`, async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 77,
|
||||||
|
},
|
||||||
|
data: { PhishingController: invalidState },
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
|
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
it('does not change the state if the phishing controller state does not include "phishing" or "lastFetched" properties', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 77,
|
||||||
|
},
|
||||||
|
data: { PhishingController: { test: '123' } },
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
|
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('deletes the "phishing" property', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 77,
|
||||||
|
},
|
||||||
|
data: { PhishingController: { test: '123', phishing: [] } },
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
|
expect(newStorage.data).toStrictEqual({
|
||||||
|
PhishingController: { test: '123' },
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('deletes the "lastFetched" property', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 77,
|
||||||
|
},
|
||||||
|
data: { PhishingController: { test: '123', lastFetched: 100 } },
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migrate(oldStorage);
|
||||||
|
|
||||||
|
expect(newStorage.data).toStrictEqual({
|
||||||
|
PhishingController: { test: '123' },
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('deletes the "phishing" and "lastFetched" properties', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 77,
|
version: 77,
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
AppStateController: {
|
PhishingController: { test: '123', lastFetched: 100, phishing: [] },
|
||||||
collectiblesDetectionNoticeDismissed: false,
|
|
||||||
bar: 'baz',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const newStorage = await migration78.migrate(oldStorage);
|
const newStorage = await migrate(oldStorage);
|
||||||
expect(newStorage).toStrictEqual({
|
|
||||||
meta: {
|
|
||||||
version: 78,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
AppStateController: {
|
|
||||||
bar: 'baz',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should remove the "collectiblesDropdownState"', async () => {
|
expect(newStorage.data).toStrictEqual({
|
||||||
const oldStorage = {
|
PhishingController: { test: '123' },
|
||||||
meta: {
|
|
||||||
version: 77,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
metamask: {
|
|
||||||
isInitialized: true,
|
|
||||||
isUnlocked: true,
|
|
||||||
isAccountMenuOpen: false,
|
|
||||||
identities: {
|
|
||||||
'0x00000': {
|
|
||||||
address: '0x00000',
|
|
||||||
lastSelected: 1675966229118,
|
|
||||||
name: 'Account 1',
|
|
||||||
},
|
|
||||||
'0x00001': {
|
|
||||||
address: '0x00001',
|
|
||||||
name: 'Account 2',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
collectiblesDropdownState: {},
|
|
||||||
qrHardware: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migration78.migrate(oldStorage);
|
|
||||||
expect(newStorage).toStrictEqual({
|
|
||||||
meta: {
|
|
||||||
version: 78,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
metamask: {
|
|
||||||
isInitialized: true,
|
|
||||||
isUnlocked: true,
|
|
||||||
isAccountMenuOpen: false,
|
|
||||||
identities: {
|
|
||||||
'0x00000': {
|
|
||||||
address: '0x00000',
|
|
||||||
lastSelected: 1675966229118,
|
|
||||||
name: 'Account 1',
|
|
||||||
},
|
|
||||||
'0x00001': {
|
|
||||||
address: '0x00001',
|
|
||||||
name: 'Account 2',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
qrHardware: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should make no changes if "collectiblesDetectionNoticeDismissed" never existed', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 77,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
AppStateController: {
|
|
||||||
bar: 'baz',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migration78.migrate(oldStorage);
|
|
||||||
expect(newStorage).toStrictEqual({
|
|
||||||
meta: {
|
|
||||||
version: 78,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
AppStateController: {
|
|
||||||
bar: 'baz',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
it('should make no changes if "collectiblesDropdownState" never existed', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 77,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
metamask: {
|
|
||||||
isInitialized: true,
|
|
||||||
isUnlocked: true,
|
|
||||||
isAccountMenuOpen: false,
|
|
||||||
identities: {
|
|
||||||
'0x00000': {
|
|
||||||
address: '0x00000',
|
|
||||||
lastSelected: 1675966229118,
|
|
||||||
name: 'Account 1',
|
|
||||||
},
|
|
||||||
'0x00001': {
|
|
||||||
address: '0x00001',
|
|
||||||
name: 'Account 2',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
qrHardware: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migration78.migrate(oldStorage);
|
|
||||||
expect(newStorage).toStrictEqual({
|
|
||||||
meta: {
|
|
||||||
version: 78,
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
metamask: {
|
|
||||||
isInitialized: true,
|
|
||||||
isUnlocked: true,
|
|
||||||
isAccountMenuOpen: false,
|
|
||||||
identities: {
|
|
||||||
'0x00000': {
|
|
||||||
address: '0x00000',
|
|
||||||
lastSelected: 1675966229118,
|
|
||||||
name: 'Account 1',
|
|
||||||
},
|
|
||||||
'0x00001': {
|
|
||||||
address: '0x00001',
|
|
||||||
name: 'Account 2',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
qrHardware: {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { cloneDeep } from 'lodash';
|
import { cloneDeep } from 'lodash';
|
||||||
import { hasProperty, isObject } from '@metamask/utils';
|
import { hasProperty, isObject } from '@metamask/utils';
|
||||||
|
|
||||||
export const version = 80;
|
export const version = 78;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The`@metamask/phishing-controller` state was updated in v2.0.0.
|
* The`@metamask/phishing-controller` state was updated in v2.0.0.
|
@ -3,8 +3,7 @@ import { cloneDeep } from 'lodash';
|
|||||||
const version = 79;
|
const version = 79;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The portfolio tooltip has been moved to a button on the home screen so
|
* Remove collectiblesDropdownState and collectiblesDetectionNoticeDismissed:.
|
||||||
* this property is no longer needed in state
|
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
version,
|
version,
|
||||||
@ -19,9 +18,14 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function transformState(state) {
|
function transformState(state) {
|
||||||
if (state?.metamask?.showPortfolioTooltip !== undefined) {
|
if (
|
||||||
delete state.metamask.showPortfolioTooltip;
|
state?.AppStateController?.collectiblesDetectionNoticeDismissed !==
|
||||||
|
undefined
|
||||||
|
) {
|
||||||
|
delete state.AppStateController.collectiblesDetectionNoticeDismissed;
|
||||||
|
}
|
||||||
|
if (state?.metamask?.collectiblesDropdownState !== undefined) {
|
||||||
|
delete state.metamask.collectiblesDropdownState;
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,33 @@ describe('migration #79', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should remove the "showPortfolioToolip" property', async () => {
|
it('should remove the "collectiblesDetectionNoticeDismissed"', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 78,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
AppStateController: {
|
||||||
|
collectiblesDetectionNoticeDismissed: false,
|
||||||
|
bar: 'baz',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migration79.migrate(oldStorage);
|
||||||
|
expect(newStorage).toStrictEqual({
|
||||||
|
meta: {
|
||||||
|
version: 79,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
AppStateController: {
|
||||||
|
bar: 'baz',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should remove the "collectiblesDropdownState"', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 78,
|
version: 78,
|
||||||
@ -35,19 +61,7 @@ describe('migration #79', () => {
|
|||||||
name: 'Account 2',
|
name: 'Account 2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
unapprovedTxs: {},
|
collectiblesDropdownState: {},
|
||||||
frequentRpcList: [],
|
|
||||||
addressBook: {},
|
|
||||||
popupGasPollTokens: [],
|
|
||||||
notificationGasPollTokens: [],
|
|
||||||
fullScreenGasPollTokens: [],
|
|
||||||
recoveryPhraseReminderHasBeenShown: false,
|
|
||||||
recoveryPhraseReminderLastShown: 1675966206345,
|
|
||||||
outdatedBrowserWarningLastShown: 1675966206345,
|
|
||||||
showTestnetMessageInDropdown: true,
|
|
||||||
showPortfolioTooltip: false,
|
|
||||||
showBetaHeader: false,
|
|
||||||
trezorModel: null,
|
|
||||||
qrHardware: {},
|
qrHardware: {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -74,25 +88,37 @@ describe('migration #79', () => {
|
|||||||
name: 'Account 2',
|
name: 'Account 2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
unapprovedTxs: {},
|
|
||||||
frequentRpcList: [],
|
|
||||||
addressBook: {},
|
|
||||||
popupGasPollTokens: [],
|
|
||||||
notificationGasPollTokens: [],
|
|
||||||
fullScreenGasPollTokens: [],
|
|
||||||
recoveryPhraseReminderHasBeenShown: false,
|
|
||||||
recoveryPhraseReminderLastShown: 1675966206345,
|
|
||||||
outdatedBrowserWarningLastShown: 1675966206345,
|
|
||||||
showTestnetMessageInDropdown: true,
|
|
||||||
showBetaHeader: false,
|
|
||||||
trezorModel: null,
|
|
||||||
qrHardware: {},
|
qrHardware: {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should make no changes if "showPortfolioToolip" never existed', async () => {
|
it('should make no changes if "collectiblesDetectionNoticeDismissed" never existed', async () => {
|
||||||
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 78,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
AppStateController: {
|
||||||
|
bar: 'baz',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migration79.migrate(oldStorage);
|
||||||
|
expect(newStorage).toStrictEqual({
|
||||||
|
meta: {
|
||||||
|
version: 79,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
AppStateController: {
|
||||||
|
bar: 'baz',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
it('should make no changes if "collectiblesDropdownState" never existed', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 78,
|
version: 78,
|
||||||
@ -113,18 +139,6 @@ describe('migration #79', () => {
|
|||||||
name: 'Account 2',
|
name: 'Account 2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
unapprovedTxs: {},
|
|
||||||
frequentRpcList: [],
|
|
||||||
addressBook: {},
|
|
||||||
popupGasPollTokens: [],
|
|
||||||
notificationGasPollTokens: [],
|
|
||||||
fullScreenGasPollTokens: [],
|
|
||||||
recoveryPhraseReminderHasBeenShown: false,
|
|
||||||
recoveryPhraseReminderLastShown: 1675966206345,
|
|
||||||
outdatedBrowserWarningLastShown: 1675966206345,
|
|
||||||
showTestnetMessageInDropdown: true,
|
|
||||||
showBetaHeader: false,
|
|
||||||
trezorModel: null,
|
|
||||||
qrHardware: {},
|
qrHardware: {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -151,18 +165,6 @@ describe('migration #79', () => {
|
|||||||
name: 'Account 2',
|
name: 'Account 2',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
unapprovedTxs: {},
|
|
||||||
frequentRpcList: [],
|
|
||||||
addressBook: {},
|
|
||||||
popupGasPollTokens: [],
|
|
||||||
notificationGasPollTokens: [],
|
|
||||||
fullScreenGasPollTokens: [],
|
|
||||||
recoveryPhraseReminderHasBeenShown: false,
|
|
||||||
recoveryPhraseReminderLastShown: 1675966206345,
|
|
||||||
outdatedBrowserWarningLastShown: 1675966206345,
|
|
||||||
showTestnetMessageInDropdown: true,
|
|
||||||
showBetaHeader: false,
|
|
||||||
trezorModel: null,
|
|
||||||
qrHardware: {},
|
qrHardware: {},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { cloneDeep } from 'lodash';
|
import { cloneDeep } from 'lodash';
|
||||||
|
|
||||||
const version = 78;
|
const version = 80;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove collectiblesDropdownState and collectiblesDetectionNoticeDismissed:.
|
* The portfolio tooltip has been moved to a button on the home screen so
|
||||||
|
* this property is no longer needed in state
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
version,
|
version,
|
||||||
@ -18,14 +19,9 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function transformState(state) {
|
function transformState(state) {
|
||||||
if (
|
if (state?.metamask?.showPortfolioTooltip !== undefined) {
|
||||||
state?.AppStateController?.collectiblesDetectionNoticeDismissed !==
|
delete state.metamask.showPortfolioTooltip;
|
||||||
undefined
|
|
||||||
) {
|
|
||||||
delete state.AppStateController.collectiblesDetectionNoticeDismissed;
|
|
||||||
}
|
|
||||||
if (state?.metamask?.collectiblesDropdownState !== undefined) {
|
|
||||||
delete state.metamask.collectiblesDropdownState;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
@ -1,108 +1,171 @@
|
|||||||
import { migrate, version } from './080';
|
import migration80 from './080';
|
||||||
|
|
||||||
describe('migration #80', () => {
|
describe('migration #80', () => {
|
||||||
it('updates the version metadata', async () => {
|
it('should update the version metadata', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 79,
|
version: 80,
|
||||||
},
|
},
|
||||||
data: {},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
const newStorage = await migration80.migrate(oldStorage);
|
||||||
|
|
||||||
expect(newStorage.meta).toStrictEqual({
|
expect(newStorage.meta).toStrictEqual({
|
||||||
version,
|
version: 80,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('does not change the state if the phishing controller state does not exist', async () => {
|
it('should remove the "showPortfolioToolip" property', async () => {
|
||||||
const oldStorage = {
|
const oldStorage = {
|
||||||
meta: {
|
meta: {
|
||||||
version: 79,
|
version: 80,
|
||||||
},
|
|
||||||
data: { test: '123' },
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
|
||||||
});
|
|
||||||
|
|
||||||
const nonObjects = [undefined, null, 'test', 1, ['test']];
|
|
||||||
|
|
||||||
for (const invalidState of nonObjects) {
|
|
||||||
it(`does not change the state if the phishing controller state is ${invalidState}`, async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 79,
|
|
||||||
},
|
|
||||||
data: { PhishingController: invalidState },
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
it('does not change the state if the phishing controller state does not include "phishing" or "lastFetched" properties', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 79,
|
|
||||||
},
|
|
||||||
data: { PhishingController: { test: '123' } },
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual(oldStorage.data);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('deletes the "phishing" property', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 79,
|
|
||||||
},
|
|
||||||
data: { PhishingController: { test: '123', phishing: [] } },
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual({
|
|
||||||
PhishingController: { test: '123' },
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('deletes the "lastFetched" property', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 79,
|
|
||||||
},
|
|
||||||
data: { PhishingController: { test: '123', lastFetched: 100 } },
|
|
||||||
};
|
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual({
|
|
||||||
PhishingController: { test: '123' },
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('deletes the "phishing" and "lastFetched" properties', async () => {
|
|
||||||
const oldStorage = {
|
|
||||||
meta: {
|
|
||||||
version: 79,
|
|
||||||
},
|
},
|
||||||
data: {
|
data: {
|
||||||
PhishingController: { test: '123', lastFetched: 100, phishing: [] },
|
metamask: {
|
||||||
|
isInitialized: true,
|
||||||
|
isUnlocked: true,
|
||||||
|
isAccountMenuOpen: false,
|
||||||
|
identities: {
|
||||||
|
'0x00000': {
|
||||||
|
address: '0x00000',
|
||||||
|
lastSelected: 1675966229118,
|
||||||
|
name: 'Account 1',
|
||||||
|
},
|
||||||
|
'0x00001': {
|
||||||
|
address: '0x00001',
|
||||||
|
name: 'Account 2',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unapprovedTxs: {},
|
||||||
|
frequentRpcList: [],
|
||||||
|
addressBook: {},
|
||||||
|
popupGasPollTokens: [],
|
||||||
|
notificationGasPollTokens: [],
|
||||||
|
fullScreenGasPollTokens: [],
|
||||||
|
recoveryPhraseReminderHasBeenShown: false,
|
||||||
|
recoveryPhraseReminderLastShown: 1675966206345,
|
||||||
|
outdatedBrowserWarningLastShown: 1675966206345,
|
||||||
|
showTestnetMessageInDropdown: true,
|
||||||
|
showPortfolioTooltip: false,
|
||||||
|
showBetaHeader: false,
|
||||||
|
trezorModel: null,
|
||||||
|
qrHardware: {},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const newStorage = await migrate(oldStorage);
|
const newStorage = await migration80.migrate(oldStorage);
|
||||||
|
expect(newStorage).toStrictEqual({
|
||||||
|
meta: {
|
||||||
|
version: 80,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
metamask: {
|
||||||
|
isInitialized: true,
|
||||||
|
isUnlocked: true,
|
||||||
|
isAccountMenuOpen: false,
|
||||||
|
identities: {
|
||||||
|
'0x00000': {
|
||||||
|
address: '0x00000',
|
||||||
|
lastSelected: 1675966229118,
|
||||||
|
name: 'Account 1',
|
||||||
|
},
|
||||||
|
'0x00001': {
|
||||||
|
address: '0x00001',
|
||||||
|
name: 'Account 2',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unapprovedTxs: {},
|
||||||
|
frequentRpcList: [],
|
||||||
|
addressBook: {},
|
||||||
|
popupGasPollTokens: [],
|
||||||
|
notificationGasPollTokens: [],
|
||||||
|
fullScreenGasPollTokens: [],
|
||||||
|
recoveryPhraseReminderHasBeenShown: false,
|
||||||
|
recoveryPhraseReminderLastShown: 1675966206345,
|
||||||
|
outdatedBrowserWarningLastShown: 1675966206345,
|
||||||
|
showTestnetMessageInDropdown: true,
|
||||||
|
showBetaHeader: false,
|
||||||
|
trezorModel: null,
|
||||||
|
qrHardware: {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
expect(newStorage.data).toStrictEqual({
|
it('should make no changes if "showPortfolioToolip" never existed', async () => {
|
||||||
PhishingController: { test: '123' },
|
const oldStorage = {
|
||||||
|
meta: {
|
||||||
|
version: 80,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
metamask: {
|
||||||
|
isInitialized: true,
|
||||||
|
isUnlocked: true,
|
||||||
|
isAccountMenuOpen: false,
|
||||||
|
identities: {
|
||||||
|
'0x00000': {
|
||||||
|
address: '0x00000',
|
||||||
|
lastSelected: 1675966229118,
|
||||||
|
name: 'Account 1',
|
||||||
|
},
|
||||||
|
'0x00001': {
|
||||||
|
address: '0x00001',
|
||||||
|
name: 'Account 2',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unapprovedTxs: {},
|
||||||
|
frequentRpcList: [],
|
||||||
|
addressBook: {},
|
||||||
|
popupGasPollTokens: [],
|
||||||
|
notificationGasPollTokens: [],
|
||||||
|
fullScreenGasPollTokens: [],
|
||||||
|
recoveryPhraseReminderHasBeenShown: false,
|
||||||
|
recoveryPhraseReminderLastShown: 1675966206345,
|
||||||
|
outdatedBrowserWarningLastShown: 1675966206345,
|
||||||
|
showTestnetMessageInDropdown: true,
|
||||||
|
showBetaHeader: false,
|
||||||
|
trezorModel: null,
|
||||||
|
qrHardware: {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const newStorage = await migration80.migrate(oldStorage);
|
||||||
|
expect(newStorage).toStrictEqual({
|
||||||
|
meta: {
|
||||||
|
version: 80,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
metamask: {
|
||||||
|
isInitialized: true,
|
||||||
|
isUnlocked: true,
|
||||||
|
isAccountMenuOpen: false,
|
||||||
|
identities: {
|
||||||
|
'0x00000': {
|
||||||
|
address: '0x00000',
|
||||||
|
lastSelected: 1675966229118,
|
||||||
|
name: 'Account 1',
|
||||||
|
},
|
||||||
|
'0x00001': {
|
||||||
|
address: '0x00001',
|
||||||
|
name: 'Account 2',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unapprovedTxs: {},
|
||||||
|
frequentRpcList: [],
|
||||||
|
addressBook: {},
|
||||||
|
popupGasPollTokens: [],
|
||||||
|
notificationGasPollTokens: [],
|
||||||
|
fullScreenGasPollTokens: [],
|
||||||
|
recoveryPhraseReminderHasBeenShown: false,
|
||||||
|
recoveryPhraseReminderLastShown: 1675966206345,
|
||||||
|
outdatedBrowserWarningLastShown: 1675966206345,
|
||||||
|
showTestnetMessageInDropdown: true,
|
||||||
|
showBetaHeader: false,
|
||||||
|
trezorModel: null,
|
||||||
|
qrHardware: {},
|
||||||
|
},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -81,9 +81,9 @@ import m074 from './074';
|
|||||||
import m075 from './075';
|
import m075 from './075';
|
||||||
import m076 from './076';
|
import m076 from './076';
|
||||||
import m077 from './077';
|
import m077 from './077';
|
||||||
import m078 from './078';
|
import * as m078 from './078';
|
||||||
import m079 from './079';
|
import m079 from './079';
|
||||||
import * as m080 from './080';
|
import m080 from './080';
|
||||||
|
|
||||||
const migrations = [
|
const migrations = [
|
||||||
m002,
|
m002,
|
||||||
|
Loading…
Reference in New Issue
Block a user