@@ -16,10 +16,7 @@ import type { CaipChainId, CaipNamespace, Hex } from '@metamask/utils';
1616import { useFakeTimers } from 'sinon' ;
1717
1818import { POPULAR_NETWORKS } from './constants' ;
19- import {
20- NetworkEnablementController ,
21- initNativeAssetIdentifiers ,
22- } from './NetworkEnablementController' ;
19+ import { NetworkEnablementController } from './NetworkEnablementController' ;
2320import type {
2421 NetworkEnablementControllerMessenger ,
2522 NativeAssetIdentifiersMap ,
@@ -130,47 +127,6 @@ const setupController = ({
130127 } ;
131128} ;
132129
133- describe ( 'initNativeAssetIdentifiers' , ( ) => {
134- it ( 'builds native asset identifiers from network configurations' , ( ) => {
135- const networks = [
136- { chainId : 'eip155:1' as const , nativeCurrency : 'ETH' } ,
137- { chainId : 'eip155:56' as const , nativeCurrency : 'BNB' } ,
138- {
139- chainId : 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as const ,
140- nativeCurrency : 'SOL' ,
141- } ,
142- ] ;
143-
144- const result = initNativeAssetIdentifiers ( networks ) ;
145-
146- expect ( result ) . toStrictEqual ( {
147- 'eip155:1' : 'eip155:1/slip44:60' ,
148- 'eip155:56' : 'eip155:56/slip44:714' ,
149- 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' :
150- 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501' ,
151- } ) ;
152- } ) ;
153-
154- it ( 'skips networks with unknown symbols' , ( ) => {
155- const networks = [
156- { chainId : 'eip155:1' as const , nativeCurrency : 'ETH' } ,
157- { chainId : 'eip155:999' as const , nativeCurrency : 'UNKNOWN_XYZ' } ,
158- ] ;
159-
160- const result = initNativeAssetIdentifiers ( networks ) ;
161-
162- expect ( result ) . toStrictEqual ( {
163- 'eip155:1' : 'eip155:1/slip44:60' ,
164- } ) ;
165- expect ( result [ 'eip155:999' ] ) . toBeUndefined ( ) ;
166- } ) ;
167-
168- it ( 'returns empty map for empty input' , ( ) => {
169- const result = initNativeAssetIdentifiers ( [ ] ) ;
170- expect ( result ) . toStrictEqual ( { } ) ;
171- } ) ;
172- } ) ;
173-
174130describe ( 'NetworkEnablementController' , ( ) => {
175131 let clock : sinon . SinonFakeTimers ;
176132
@@ -1054,6 +1010,56 @@ describe('NetworkEnablementController', () => {
10541010 } ) ;
10551011 } ) ;
10561012
1013+ describe ( 'initNativeAssetIdentifiers' , ( ) => {
1014+ it ( 'populates nativeAssetIdentifiers from network configurations' , ( ) => {
1015+ const { controller } = setupController ( ) ;
1016+
1017+ const networks = [
1018+ { chainId : 'eip155:1' as const , nativeCurrency : 'ETH' } ,
1019+ { chainId : 'eip155:56' as const , nativeCurrency : 'BNB' } ,
1020+ {
1021+ chainId : 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' as const ,
1022+ nativeCurrency : 'SOL' ,
1023+ } ,
1024+ ] ;
1025+
1026+ controller . initNativeAssetIdentifiers ( networks ) ;
1027+
1028+ expect ( controller . state . nativeAssetIdentifiers ) . toStrictEqual ( {
1029+ 'eip155:1' : 'eip155:1/slip44:60' ,
1030+ 'eip155:56' : 'eip155:56/slip44:714' ,
1031+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp' :
1032+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501' ,
1033+ } ) ;
1034+ } ) ;
1035+
1036+ it ( 'skips networks with unknown symbols' , ( ) => {
1037+ const { controller } = setupController ( ) ;
1038+
1039+ const networks = [
1040+ { chainId : 'eip155:1' as const , nativeCurrency : 'ETH' } ,
1041+ { chainId : 'eip155:999' as const , nativeCurrency : 'UNKNOWN_XYZ' } ,
1042+ ] ;
1043+
1044+ controller . initNativeAssetIdentifiers ( networks ) ;
1045+
1046+ expect ( controller . state . nativeAssetIdentifiers [ 'eip155:1' ] ) . toBe (
1047+ 'eip155:1/slip44:60' ,
1048+ ) ;
1049+ expect (
1050+ controller . state . nativeAssetIdentifiers [ 'eip155:999' ] ,
1051+ ) . toBeUndefined ( ) ;
1052+ } ) ;
1053+
1054+ it ( 'does not modify state for empty input' , ( ) => {
1055+ const { controller } = setupController ( ) ;
1056+
1057+ controller . initNativeAssetIdentifiers ( [ ] ) ;
1058+
1059+ expect ( controller . state . nativeAssetIdentifiers ) . toStrictEqual ( { } ) ;
1060+ } ) ;
1061+ } ) ;
1062+
10571063 describe ( 'enableAllPopularNetworks' , ( ) => {
10581064 it ( 'enables all popular networks that exist in controller configurations and Solana mainnet' , ( ) => {
10591065 const { controller, messenger } = setupController ( ) ;
0 commit comments