@@ -2,6 +2,7 @@ import assert from "assert";
2
2
import { Signer } from "./ethers" ;
3
3
import * as constants from "./constants" ;
4
4
import * as providerUtils from "./providers" ;
5
+ import usdt0Logo from "assets/token-logos/usdt0.svg" ;
5
6
import filter from "lodash/filter" ;
6
7
import sortBy from "lodash/sortBy" ;
7
8
@@ -459,10 +460,10 @@ export class ConfigClient {
459
460
token ,
460
461
`Token not found on chain: ${ chainId } and address ${ address } `
461
462
) ;
462
- return token ;
463
+ return this . applyChainSpecificTokenDisplay ( token , chainId ) ;
463
464
}
464
465
465
- return tokens [ 0 ] ;
466
+ return this . applyChainSpecificTokenDisplay ( tokens [ 0 ] , chainId ) ;
466
467
}
467
468
getPoolTokenInfoByAddress ( chainId : number , address : string ) : Token {
468
469
return this . getTokenInfoByAddress (
@@ -476,14 +477,16 @@ export class ConfigClient {
476
477
address : string
477
478
) : Token | undefined {
478
479
try {
479
- return this . getTokenInfoByAddress ( chainId , address ) ;
480
+ const token = this . getTokenInfoByAddress ( chainId , address ) ;
481
+ return this . applyChainSpecificTokenDisplay ( token , chainId ) ;
480
482
} catch ( error ) {
481
483
return undefined ;
482
484
}
483
485
}
484
486
getTokenInfoBySymbol ( chainId : number , symbol : string ) : Token {
485
487
const tokens = this . getTokenList ( chainId ) ;
486
- return this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
488
+ const token = this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
489
+ return this . applyChainSpecificTokenDisplay ( token , chainId ) ;
487
490
}
488
491
getTokenInfoBySymbolSafe ( chainId : number , symbol : string ) : Token | undefined {
489
492
try {
@@ -494,11 +497,13 @@ export class ConfigClient {
494
497
}
495
498
getStakingPoolTokenInfoBySymbol ( chainId : number , symbol : string ) : Token {
496
499
const tokens = this . getStakingPoolTokenList ( chainId ) ;
497
- return this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
500
+ const token = this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
501
+ return this . applyChainSpecificTokenDisplay ( token , chainId ) ;
498
502
}
499
503
getPoolTokenInfoBySymbol ( chainId : number , symbol : string ) : Token {
500
504
const tokens = this . getTokenPoolList ( chainId ) ;
501
- return this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
505
+ const token = this . _getTokenInfoBySymbol ( chainId , symbol , tokens ) ;
506
+ return this . applyChainSpecificTokenDisplay ( token , chainId ) ;
502
507
}
503
508
_getTokenInfoBySymbol (
504
509
chainId : number ,
@@ -563,6 +568,28 @@ export class ConfigClient {
563
568
return { } ;
564
569
}
565
570
}
571
+
572
+ /**
573
+ * Determines if USDT should be displayed as USDT0 on the given chain
574
+ */
575
+ private shouldShowUsdt0ForChain ( chainId : number ) : boolean {
576
+ return constants . chainsWithUsdt0Enabled . includes ( chainId ) ;
577
+ }
578
+
579
+ /**
580
+ * Applies chain-specific display modifications to a token
581
+ */
582
+ private applyChainSpecificTokenDisplay ( token : Token , chainId : number ) : Token {
583
+ // Handle USDT -> USDT0 display for specific chains
584
+ if ( token . symbol === "USDT" && this . shouldShowUsdt0ForChain ( chainId ) ) {
585
+ return {
586
+ ...token ,
587
+ displaySymbol : "USDT0" ,
588
+ logoURI : usdt0Logo ,
589
+ } ;
590
+ }
591
+ return token ;
592
+ }
566
593
}
567
594
568
595
// singleton
0 commit comments