2022-11-18 19:35:42 +01:00
import migration77 from './077' ;
describe ( 'migration #77' , ( ) => {
it ( 'should update the version metadata' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . meta ) . toStrictEqual ( {
version : 77 ,
} ) ;
} ) ;
it ( 'should change the data from array to object for a single network' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
2023-08-01 00:13:51 +02:00
it ( 'should set data to an empty object if it is undefined' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : undefined ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : { } ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'should set data to an empty object if it is null' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : null ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : { } ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
2022-11-18 19:35:42 +01:00
it ( 'should change the data from array to object for a multiple networks' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
56 : {
timestamp : 1324 ,
data : [
{
address : '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' ,
symbol : 'ADA' ,
decimals : 18 ,
} ,
{
address : '0x928e55dab735aa8260af3cedada18b5f70c72f1b' ,
symbol : 'FRONT' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
56 : {
timestamp : 1324 ,
data : {
'0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' : {
address : '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' ,
symbol : 'ADA' ,
decimals : 18 ,
} ,
'0x928e55dab735aa8260af3cedada18b5f70c72f1b' : {
address : '0x928e55dab735aa8260af3cedada18b5f70c72f1b' ,
symbol : 'FRONT' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'should not change anything if the data is already an object' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'should correct the address keys if the object is keyed wrong' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
0 : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
1 : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
2023-08-01 00:13:51 +02:00
describe ( 'migration #77 supplements' , ( ) => {
describe ( 'state transformation to ahead of migration 82' , ( ) => {
it ( 'should delete frequentRpcListDetail from the PreferencesController state, if the user already has networkConfigurations in NetworkController state, without interferring with the rest of the migration' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
networkConfigurations : { foo : 'bar' } ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
PreferencesController : {
fizz : 'buzz' ,
} ,
NetworkController : {
networkConfigurations : { foo : 'bar' } ,
} ,
} ,
} ) ;
} ) ;
it ( 'should not delete frequentRpcListDetail from the PreferencesController state if there are no networkConfigurations in NetworkController state' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
foobar : { foo : 'bar' } ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
foobar : { foo : 'bar' } ,
} ,
} ,
} ) ;
} ) ;
} ) ;
describe ( 'state transformation to ahead of migration 84' , ( ) => {
it ( 'should delete `network` from the NetworkController state, if the user already has `networkId` in NetworkController state, without interferring with the rest of the migration' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
NetworkController : {
network : 'foobar' ,
networkId : 'fizzbuzz' ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
NetworkController : {
networkId : 'fizzbuzz' ,
} ,
} ,
} ) ;
} ) ;
it ( 'should not delete `network` from the NetworkController state, if there is no `networkId` in NetworkController state' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
network : 'foobar' ,
foobar : { foo : 'bar' } ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
network : 'foobar' ,
foobar : { foo : 'bar' } ,
} ,
} ,
} ) ;
} ) ;
} ) ;
describe ( 'state transformation to ahead of migration 86' , ( ) => {
it ( 'should delete `provider` from the NetworkController state, if the user already has `providerConfig` in NetworkController state, without interferring with the rest of the migration' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
NetworkController : {
provider : { foo : 'bar ' } ,
providerConfig : { fizz : 'buzz' } ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokenList : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
} ,
tokensChainsCache : {
1 : {
timestamp : 1234 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
NetworkController : {
providerConfig : { fizz : 'buzz' } ,
} ,
} ,
} ) ;
} ) ;
it ( 'should not delete `provider` from the NetworkController state, if there is no `providerConfig` in NetworkController state' , async ( ) => {
const oldStorage = {
meta : {
version : 76 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
provider : { foo : 'bar ' } ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage ) . toStrictEqual ( {
meta : {
version : 77 ,
} ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
PreferencesController : {
frequentRpcListDetail : [ 'foobar' ] ,
fizz : 'buzz' ,
} ,
NetworkController : {
provider : { foo : 'bar ' } ,
} ,
} ,
} ) ;
} ) ;
} ) ;
describe ( 'state transformation to ahead of migration 88' , ( ) => {
it ( 'deletes entries in NftController.allNftContracts that have decimal chain ID keys only if any chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNftContracts : {
'0x111' : {
16 : [
{
name : 'Contract 1' ,
address : '0xaaa' ,
} ,
] ,
'0x20' : [
{
name : 'Contract 2' ,
address : '0xbbb' ,
} ,
] ,
32 : [
{
name : 'Contract 2' ,
address : '0xbbb' ,
} ,
] ,
} ,
'0x222' : {
64 : [
{
name : 'Contract 3' ,
address : '0xccc' ,
} ,
] ,
'0x40' : [
{
name : 'Contract 3' ,
address : '0xccc' ,
} ,
] ,
128 : [
{
name : 'Contract 4' ,
address : '0xddd' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNftContracts : {
'0x111' : {
'0x20' : [
{
name : 'Contract 2' ,
address : '0xbbb' ,
} ,
] ,
} ,
'0x222' : {
'0x40' : [
{
name : 'Contract 3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in NftController.allNftContracts that have decimal chain ID keys if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNftContracts : {
'0x333' : {
256 : [
{
name : 'Contract 3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNftContracts : {
'0x333' : {
256 : [
{
name : 'Contract 3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'deletes entries in NftController.allNfts that have decimal chain ID keys only if any chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNfts : {
'0x111' : {
16 : [
{
name : 'NFT 1' ,
description : 'Description for NFT 1' ,
image : 'nft1.jpg' ,
standard : 'ERC721' ,
tokenId : '1' ,
address : '0xaaa' ,
} ,
] ,
32 : [
{
name : 'NFT 2' ,
description : 'Description for NFT 2' ,
image : 'nft2.jpg' ,
standard : 'ERC721' ,
tokenId : '2' ,
address : '0xbbb' ,
} ,
] ,
'0x20' : [
{
name : 'NFT 2' ,
description : 'Description for NFT 2' ,
image : 'nft2.jpg' ,
standard : 'ERC721' ,
tokenId : '2' ,
address : '0xbbb' ,
} ,
] ,
} ,
'0x222' : {
64 : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
'0x40' : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
128 : [
{
name : 'NFT 4' ,
description : 'Description for NFT 4' ,
image : 'nft4.jpg' ,
standard : 'ERC721' ,
tokenId : '4' ,
address : '0xddd' ,
} ,
] ,
} ,
'0x333' : {
256 : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNfts : {
'0x111' : {
'0x20' : [
{
name : 'NFT 2' ,
description : 'Description for NFT 2' ,
image : 'nft2.jpg' ,
standard : 'ERC721' ,
tokenId : '2' ,
address : '0xbbb' ,
} ,
] ,
} ,
'0x222' : {
'0x40' : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
} ,
'0x333' : {
256 : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in NftController.allNfts that have decimal chain ID keys if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNfts : {
'0x333' : {
256 : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
NftController : {
allNfts : {
'0x333' : {
256 : [
{
name : 'NFT 3' ,
description : 'Description for NFT 3' ,
image : 'nft3.jpg' ,
standard : 'ERC721' ,
tokenId : '3' ,
address : '0xccc' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'deletes entries in TokenListController.tokensChainsCache that have decimal chain ID keys only if any other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : {
16 : {
timestamp : 111111 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
'0x10' : {
timestamp : 111111 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
32 : {
timestamp : 222222 ,
data : [
{
address : '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' ,
symbol : 'ADA' ,
decimals : 18 ,
} ,
{
address : '0x928e55dab735aa8260af3cedada18b5f70c72f1b' ,
symbol : 'FRONT' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : {
'0x10' : {
timestamp : 111111 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in TokenListController.tokensChainsCache that have decimal chain ID keys if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : {
16 : {
timestamp : 111111 ,
data : [
{
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
{
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
] ,
} ,
32 : {
timestamp : 222222 ,
data : [
{
address : '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' ,
symbol : 'ADA' ,
decimals : 18 ,
} ,
{
address : '0x928e55dab735aa8260af3cedada18b5f70c72f1b' ,
symbol : 'FRONT' ,
decimals : 18 ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : {
16 : {
timestamp : 111111 ,
data : {
'0x514910771af9ca656af840dff83e8264ecf986ca' : {
address : '0x514910771af9ca656af840dff83e8264ecf986ca' ,
symbol : 'LINK' ,
decimals : 18 ,
} ,
'0xc00e94cb662c3520282e6f5717214004a7f26888' : {
address : '0xc00e94cb662c3520282e6f5717214004a7f26888' ,
symbol : 'COMP' ,
decimals : 18 ,
} ,
} ,
} ,
32 : {
timestamp : 222222 ,
data : {
'0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' : {
address : '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47' ,
symbol : 'ADA' ,
decimals : 18 ,
} ,
'0x928e55dab735aa8260af3cedada18b5f70c72f1b' : {
address : '0x928e55dab735aa8260af3cedada18b5f70c72f1b' ,
symbol : 'FRONT' ,
decimals : 18 ,
} ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'deletes entries in TokensController.allTokens that have decimal chain IDs only if any other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allTokens : {
16 : {
'0x111' : [
{
address : '0xaaa' ,
decimals : 1 ,
symbol : 'TEST1' ,
} ,
] ,
} ,
'0x10' : {
'0x111' : [
{
address : '0xaaa' ,
decimals : 1 ,
symbol : 'TEST1' ,
} ,
] ,
} ,
32 : {
'0x222' : [
{
address : '0xbbb' ,
decimals : 1 ,
symbol : 'TEST2' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allTokens : {
'0x10' : {
'0x111' : [
{
address : '0xaaa' ,
decimals : 1 ,
symbol : 'TEST1' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in TokensController.allTokens that have decimal chain IDs if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 76 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allTokens : {
16 : {
'0x111' : [
{
address : '0xaaa' ,
decimals : 1 ,
symbol : 'TEST1' ,
} ,
] ,
} ,
32 : {
'0x222' : [
{
address : '0xbbb' ,
decimals : 1 ,
symbol : 'TEST2' ,
} ,
] ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allTokens : {
16 : {
'0x111' : [
{
address : '0xaaa' ,
decimals : 1 ,
symbol : 'TEST1' ,
} ,
] ,
} ,
32 : {
'0x222' : [
{
address : '0xbbb' ,
decimals : 1 ,
symbol : 'TEST2' ,
} ,
] ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'deletes entries in TokensController.allIgnoredTokens that have decimal chain IDs only if any other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 87 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allIgnoredTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
'0x10' : {
'0x1' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allIgnoredTokens : {
'0x10' : {
'0x1' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in TokensController.allIgnoredTokens that have decimal chain IDs if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 87 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allIgnoredTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allIgnoredTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'deletes entries in TokensController.allDetectedTokens that have decimal chain IDs only if any other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 87 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allDetectedTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
'0x10' : {
'0x1' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allDetectedTokens : {
'0x10' : {
'0x1' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
it ( 'does not delete entries in TokensController.allDetectedTokens that have decimal chain IDs if no other chain ID keys are hex' , async ( ) => {
const oldStorage = {
meta : { version : 87 } ,
data : {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allDetectedTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ,
} ;
const newStorage = await migration77 . migrate ( oldStorage ) ;
expect ( newStorage . data ) . toStrictEqual ( {
TokenListController : {
tokensChainsCache : { } ,
} ,
TokensController : {
allDetectedTokens : {
16 : {
'0x1' : {
'0x111' : [ '0xaaa' ] ,
} ,
} ,
32 : {
'0x2' : {
'0x222' : [ '0xbbb' ] ,
} ,
} ,
} ,
} ,
} ) ;
} ) ;
} ) ;
} ) ;
2022-11-18 19:35:42 +01:00
} ) ;