@@ -41,13 +41,24 @@ protected override async Task<
41
41
IEnumerable < KeyValuePair < string , ExchangeTicker > >
42
42
> OnGetTickersAsync ( )
43
43
{
44
- var json = await MakeJsonRequestAsync < JToken > ( "/spot/tickers" ) ;
44
+ var response = await MakeJsonRequestAsync < JToken > ( "/spot/tickers" ) ;
45
+ var tickers =
46
+ new List < KeyValuePair < string , ExchangeTicker > > ( ) ;
45
47
46
- var tickers = json . Select ( tickerToken => ParseTicker ( tickerToken ) )
47
- . Select (
48
- ticker => new KeyValuePair < string , ExchangeTicker > ( ticker . MarketSymbol , ticker )
49
- )
50
- . ToList ( ) ;
48
+ foreach ( var t in response )
49
+ {
50
+ var marketSymbol = t [ "currency_pair" ] . ToStringInvariant ( ) ;
51
+ tickers . Add ( new KeyValuePair < string , ExchangeTicker > (
52
+ marketSymbol ,
53
+ await this . ParseTickerAsync (
54
+ t ,
55
+ t [ "currency_pair" ] . ToStringInvariant ( ) ,
56
+ "lowest_ask" ,
57
+ "highest_bid" ,
58
+ "last" ,
59
+ "base_volume" ,
60
+ "quote_volume" ) ) ) ;
61
+ }
51
62
52
63
return tickers ;
53
64
}
@@ -171,44 +182,9 @@ protected internal override async Task<
171
182
protected override async Task < ExchangeTicker > OnGetTickerAsync ( string symbol )
172
183
{
173
184
var json = await MakeJsonRequestAsync < JToken > ( $ "/spot/tickers?currency_pair={ symbol } ") ;
174
- return ParseTicker ( json . First ( ) ) ;
175
- }
176
-
177
- private ExchangeTicker ParseTicker ( JToken tickerToken )
178
- {
179
- bool IsEmptyString ( JToken token ) =>
180
- token . Type == JTokenType . String && token . ToObject < string > ( ) == string . Empty ;
181
185
182
- /*
183
- {
184
- "currency_pair": "BTC3L_USDT",
185
- "last": "2.46140352",
186
- "lowest_ask": "2.477",
187
- "highest_bid": "2.4606821",
188
- "change_percentage": "-8.91",
189
- "base_volume": "656614.0845820589",
190
- "quote_volume": "1602221.66468375534639404191",
191
- "high_24h": "2.7431",
192
- "low_24h": "1.9863",
193
- "etf_net_value": "2.46316141",
194
- "etf_pre_net_value": "2.43201848",
195
- "etf_pre_timestamp": 1611244800,
196
- "etf_leverage": "2.2803019447281203"
197
- }
198
- */
199
-
200
- return new ExchangeTicker
201
- {
202
- Exchange = Name ,
203
- MarketSymbol = tickerToken [ "currency_pair" ] . ToStringInvariant ( ) ,
204
- Bid = IsEmptyString ( tickerToken [ "lowest_ask" ] )
205
- ? default
206
- : tickerToken [ "lowest_ask" ] . ConvertInvariant < decimal > ( ) ,
207
- Ask = IsEmptyString ( tickerToken [ "highest_bid" ] )
208
- ? default
209
- : tickerToken [ "highest_bid" ] . ConvertInvariant < decimal > ( ) ,
210
- Last = tickerToken [ "last" ] . ConvertInvariant < decimal > ( ) ,
211
- } ;
186
+ return await this . ParseTickerAsync ( json . First ( ) , json . First ( ) [ "currency_pair" ] . ToStringInvariant ( ) , "lowest_ask" ,
187
+ "highest_bid" , "last" , "base_volume" , "quote_volume" ) ;
212
188
}
213
189
214
190
protected override async Task < ExchangeOrderBook > OnGetOrderBookAsync (
0 commit comments