@@ -74,46 +74,26 @@ protected BinanceGroupCommon()
7474 RateLimit = new RateGate ( 40 , TimeSpan . FromSeconds ( 10 ) ) ;
7575 }
7676
77+ protected virtual string [ ] NonThreeLetterQuoteCurrencies => new [ ] { "USDT" , "USDC" , "EURI" } ;
78+
7779 public override Task < string > ExchangeMarketSymbolToGlobalMarketSymbolAsync (
7880 string marketSymbol
7981 )
8082 {
81- // All pairs in Binance end with BTC, ETH, BNB or USDT
82- if (
83- marketSymbol . EndsWith ( "BTC" )
84- || marketSymbol . EndsWith ( "ETH" )
85- || marketSymbol . EndsWith ( "BNB" )
86- )
87- {
88- string baseSymbol = marketSymbol . Substring ( marketSymbol . Length - 3 ) ;
89- return ExchangeMarketSymbolToGlobalMarketSymbolWithSeparatorAsync (
90- (
91- marketSymbol . Replace ( baseSymbol , "" )
92- + GlobalMarketSymbolSeparator
93- + baseSymbol
94- ) ,
95- GlobalMarketSymbolSeparator
96- ) ;
97- }
98- if ( marketSymbol . EndsWith ( "USDT" ) )
83+ foreach ( var quoteCurrency in NonThreeLetterQuoteCurrencies )
9984 {
100- string baseSymbol = marketSymbol . Substring ( marketSymbol . Length - 4 ) ;
101- return ExchangeMarketSymbolToGlobalMarketSymbolWithSeparatorAsync (
102- (
103- marketSymbol . Replace ( baseSymbol , "" )
104- + GlobalMarketSymbolSeparator
105- + baseSymbol
106- ) ,
107- GlobalMarketSymbolSeparator
108- ) ;
85+ if ( marketSymbol . EndsWith ( quoteCurrency ) )
86+ {
87+ return ExchangeMarketSymbolToGlobalMarketSymbolWithSeparatorAsync (
88+ marketSymbol . Substring ( 0 , marketSymbol . Length - quoteCurrency . Length ) +
89+ GlobalMarketSymbolSeparator +
90+ quoteCurrency ) ;
91+ }
10992 }
11093
11194 return ExchangeMarketSymbolToGlobalMarketSymbolWithSeparatorAsync (
112- marketSymbol . Substring ( 0 , marketSymbol . Length - 3 )
113- + GlobalMarketSymbolSeparator
114- + ( marketSymbol . Substring ( marketSymbol . Length - 3 , 3 ) ) ,
115- GlobalMarketSymbolSeparator
116- ) ;
95+ marketSymbol . Substring ( 0 , marketSymbol . Length - 3 ) + GlobalMarketSymbolSeparator +
96+ marketSymbol . Substring ( marketSymbol . Length - 3 ) ) ;
11797 }
11898
11999 /// <summary>
0 commit comments