@@ -269,10 +269,9 @@ function App() {
269
269
// END ROUTES
270
270
// BEGIN ENV
271
271
const [ env , setEnv ] = useState < "testnet" | "mainnet" > ( "testnet" ) ;
272
- const [ _networkIndexes , setNetworkIndexes ] = useState < number [ ] | undefined > (
272
+ const [ selectedChains , setSelectedChains ] = useState < string [ ] | undefined > (
273
273
undefined
274
274
) ;
275
- const [ networkIndexes ] = useDebounce ( _networkIndexes , 1000 ) ;
276
275
const [ _tokens , setTokens ] = useState < string [ ] | undefined > ( undefined ) ;
277
276
const [ tokens ] = useDebounce ( _tokens , 1000 ) ;
278
277
const testnetTokens = useMemo (
@@ -313,21 +312,21 @@ function App() {
313
312
} , [ ] ) ;
314
313
// networks and tokens handlers come after defaults so they can appropriately reset them
315
314
const handleClearNetworks = useCallback ( ( ) => {
316
- setNetworkIndexes ( undefined ) ;
315
+ setSelectedChains ( undefined ) ;
317
316
} , [ ] ) ;
318
317
const handleNoneNetworks = useCallback ( ( ) => {
319
318
// clear defaults to avoid bugs (could be smarter)
320
319
setDefaultFromNetwork ( undefined ) ;
321
320
setDefaultToNetwork ( undefined ) ;
322
321
setRequiredNetwork ( undefined ) ;
323
- setNetworkIndexes ( [ ] ) ;
322
+ setSelectedChains ( [ ] ) ;
324
323
} , [ ] ) ;
325
324
const handleNetworksChange = useCallback ( ( e : any ) => {
326
325
// clear defaults to avoid bugs (could be smarter)
327
326
setDefaultFromNetwork ( undefined ) ;
328
327
setDefaultToNetwork ( undefined ) ;
329
328
setRequiredNetwork ( undefined ) ;
330
- setNetworkIndexes (
329
+ setSelectedChains (
331
330
typeof e . target . value === "string"
332
331
? e . target . value
333
332
. split ( "," )
@@ -407,19 +406,10 @@ function App() {
407
406
setEnv ( value ) ;
408
407
}
409
408
} , [ ] ) ;
410
- const [ networks , testnetNetworks ] = useMemo ( ( ) => {
411
- return ! networkIndexes
412
- ? [ undefined , undefined ]
413
- : NETWORKS . filter ( ( v , i ) => networkIndexes . indexOf ( i ) > - 1 ) . reduce <
414
- [ ChainName [ ] , TestnetChainName [ ] ]
415
- > (
416
- ( [ networks , testnetNetworks ] , v ) => [
417
- [ ...networks , v [ env ] ] ,
418
- [ ...testnetNetworks , v . testnet ] ,
419
- ] ,
420
- [ [ ] , [ ] ]
421
- ) ;
422
- } , [ networkIndexes , env ] ) ;
409
+
410
+ const chains =
411
+ env === "mainnet" ? CONFIG . MAINNET . chains : CONFIG . TESTNET . chains ;
412
+
423
413
// END ENV
424
414
// START BRIDGE COMPLETE
425
415
const [ _ctaText , setCtaText ] = useState < string > ( "" ) ;
@@ -443,7 +433,7 @@ function App() {
443
433
setDefaultToNetwork ( undefined ) ;
444
434
setDefaultToken ( undefined ) ;
445
435
setRequiredNetwork ( undefined ) ;
446
- setNetworkIndexes ( undefined ) ;
436
+ setSelectedChains ( undefined ) ;
447
437
setTokens ( undefined ) ;
448
438
setRpcs ( undefined ) ;
449
439
setEnv ( "testnet" ) ;
@@ -466,7 +456,6 @@ function App() {
466
456
( ) => ( {
467
457
env : "testnet" , // always testnet for the builder
468
458
rpcs : testnetRpcs ,
469
- networks : testnetNetworks , // always testnet for the builder
470
459
tokens : testnetTokens , // always testnet for the builder
471
460
cta :
472
461
ctaText && ctaLink
@@ -493,7 +482,6 @@ function App() {
493
482
} ) ,
494
483
[
495
484
testnetRpcs ,
496
- testnetNetworks ,
497
485
testnetTokens ,
498
486
ctaText ,
499
487
ctaLink ,
@@ -511,7 +499,13 @@ function App() {
511
499
setVersionOrTag ( value ) ;
512
500
} , [ ] ) ;
513
501
const [ htmlCode , jsxCode ] = useMemo ( ( ) => {
514
- const realConfig = { ...config , env, rpcs, networks, tokens } ;
502
+ const realConfig = {
503
+ ...config ,
504
+ env,
505
+ rpcs,
506
+ networks : selectedChains ,
507
+ tokens,
508
+ } ;
515
509
const realConfigString = JSON . stringify ( realConfig ) ;
516
510
return [
517
511
`<div id="wormhole-connect" data-config='${ realConfigString } ' data-theme='${ customTheme } ' /></div>
@@ -534,7 +528,7 @@ function App() {
534
528
);
535
529
}` ,
536
530
] ;
537
- } , [ config , env , rpcs , networks , tokens , versionOrTag ] ) ;
531
+ } , [ config , env , rpcs , selectedChains , tokens , versionOrTag ] ) ;
538
532
const [ openCopySnack , setOpenCopySnack ] = useState < boolean > ( false ) ;
539
533
const handleCopySnackClose = useCallback ( ( ) => {
540
534
setOpenCopySnack ( false ) ;
@@ -1003,30 +997,24 @@ function App() {
1003
997
< TextField
1004
998
select
1005
999
fullWidth
1006
- value = {
1007
- _networkIndexes
1008
- ? _networkIndexes
1009
- : NETWORKS . map ( ( _ , i ) => i )
1010
- }
1000
+ value = { selectedChains || Object . keys ( chains ) }
1011
1001
onChange = { handleNetworksChange }
1012
1002
SelectProps = { {
1013
1003
multiple : true ,
1014
1004
renderValue : ( selected : any ) =>
1015
- ! _networkIndexes
1005
+ ! selectedChains
1016
1006
? "All Networks"
1017
- : selected
1018
- . map ( ( i : number ) => NETWORKS [ i ] . name )
1019
- . join ( ", " ) ,
1007
+ : selectedChains . join ( ", " ) ,
1020
1008
} }
1021
1009
>
1022
- { NETWORKS . map ( ( network , idx ) => (
1023
- < MenuItem key = { idx } value = { idx } >
1010
+ { Object . keys ( chains ) . map ( ( chain ) => (
1011
+ < MenuItem key = { chain } value = { chain } >
1024
1012
< Checkbox
1025
1013
checked = {
1026
- ! _networkIndexes || _networkIndexes . indexOf ( idx ) > - 1
1014
+ ! selectedChains || selectedChains . includes ( chain )
1027
1015
}
1028
1016
/>
1029
- < ListItemText primary = { network . name } />
1017
+ < ListItemText primary = { chain } />
1030
1018
</ MenuItem >
1031
1019
) ) }
1032
1020
</ TextField >
@@ -1112,15 +1100,15 @@ function App() {
1112
1100
< MenuItem value = { "" } >
1113
1101
< ListItemText primary = "(None)" />
1114
1102
</ MenuItem >
1115
- { _networkIndexes
1116
- ? _networkIndexes . map ( ( nIdx ) => (
1117
- < MenuItem key = { nIdx } value = { NETWORKS [ nIdx ] [ env ] } >
1118
- < ListItemText primary = { NETWORKS [ nIdx ] . name } />
1103
+ { selectedChains
1104
+ ? selectedChains . map ( ( chain ) => (
1105
+ < MenuItem key = { chain } value = { chain } >
1106
+ < ListItemText primary = { chain } />
1119
1107
</ MenuItem >
1120
1108
) )
1121
- : NETWORKS . map ( ( n ) => (
1122
- < MenuItem key = { n . name } value = { n [ env ] } >
1123
- < ListItemText primary = { n . name } />
1109
+ : Object . keys ( chains ) . map ( ( chain ) => (
1110
+ < MenuItem key = { chain } value = { chain } >
1111
+ < ListItemText primary = { chain } />
1124
1112
</ MenuItem >
1125
1113
) ) }
1126
1114
</ TextField >
@@ -1147,15 +1135,15 @@ function App() {
1147
1135
< MenuItem value = { "" } >
1148
1136
< ListItemText primary = "(None)" />
1149
1137
</ MenuItem >
1150
- { _networkIndexes
1151
- ? _networkIndexes . map ( ( nIdx ) => (
1152
- < MenuItem key = { nIdx } value = { NETWORKS [ nIdx ] [ env ] } >
1153
- < ListItemText primary = { NETWORKS [ nIdx ] . name } />
1138
+ { selectedChains
1139
+ ? selectedChains . map ( ( chain ) => (
1140
+ < MenuItem key = { chain } value = { chain } >
1141
+ < ListItemText primary = { chain } />
1154
1142
</ MenuItem >
1155
1143
) )
1156
- : NETWORKS . map ( ( n ) => (
1157
- < MenuItem key = { n . name } value = { n [ env ] } >
1158
- < ListItemText primary = { n . name } />
1144
+ : Object . keys ( chains ) . map ( ( chain ) => (
1145
+ < MenuItem key = { chain } value = { chain } >
1146
+ < ListItemText primary = { chain } />
1159
1147
</ MenuItem >
1160
1148
) ) }
1161
1149
</ TextField >
@@ -1206,15 +1194,15 @@ function App() {
1206
1194
< MenuItem value = { "" } >
1207
1195
< ListItemText primary = "(None)" />
1208
1196
</ MenuItem >
1209
- { _networkIndexes
1210
- ? _networkIndexes . map ( ( nIdx ) => (
1211
- < MenuItem key = { nIdx } value = { NETWORKS [ nIdx ] [ env ] } >
1212
- < ListItemText primary = { NETWORKS [ nIdx ] . name } />
1197
+ { selectedChains
1198
+ ? selectedChains . map ( ( chain ) => (
1199
+ < MenuItem key = { chain } value = { chain } >
1200
+ < ListItemText primary = { chain } />
1213
1201
</ MenuItem >
1214
1202
) )
1215
- : NETWORKS . map ( ( n ) => (
1216
- < MenuItem key = { n . name } value = { n [ env ] } >
1217
- < ListItemText primary = { n . name } />
1203
+ : Object . keys ( chains ) . map ( ( chain ) => (
1204
+ < MenuItem key = { chain } value = { chain } >
1205
+ < ListItemText primary = { chain } />
1218
1206
</ MenuItem >
1219
1207
) ) }
1220
1208
</ TextField >
0 commit comments