@@ -31,7 +31,7 @@ protected override async Task<IEnumerable<KeyValuePair<string, ExchangeTicker>>>
31
31
{
32
32
var result =
33
33
await MakeJsonRequestAsync < Dictionary < string , NDAXTicker > > ( "returnticker" , "https://ndax.io/api" , null , "GET" ) ;
34
- _marketSymbolToInstrumentIdMapping = result . ToDictionary ( pair => pair . Key , pair => pair . Value . Id ) ;
34
+ _marketSymbolToInstrumentIdMapping = result . ToDictionary ( pair => pair . Key . Replace ( "_" , "" ) , pair => pair . Value . Id ) ; // remove the _
35
35
return result . Select ( pair =>
36
36
new KeyValuePair < string , ExchangeTicker > ( pair . Key , pair . Value . ToExchangeTicker ( pair . Key ) ) ) ;
37
37
}
@@ -345,12 +345,16 @@ private async Task EnsureInstrumentIdsAvailable()
345
345
{
346
346
marketSymbol = marketSymbol . ToUpperInvariant ( ) ;
347
347
await EnsureInstrumentIdsAvailable ( ) ;
348
- if ( _marketSymbolToInstrumentIdMapping . TryGetValue ( marketSymbol , out var value ) )
349
- {
350
- return value ;
351
- }
352
-
353
- return null ;
348
+ if ( _marketSymbolToInstrumentIdMapping . TryGetValue ( marketSymbol , out var value ) )
349
+ {
350
+ return value ;
351
+ }
352
+ else if ( _marketSymbolToInstrumentIdMapping . TryGetValue ( marketSymbol . Replace ( "_" , "" ) , out var value2 ) )
353
+ { // try again w/o the _
354
+ return value2 ;
355
+ }
356
+
357
+ return null ;
354
358
}
355
359
356
360
private async Task < long ? [ ] > GetInstrumentIdFromMarketSymbol ( string [ ] marketSymbols )
@@ -367,6 +371,7 @@ private async Task<string> GetMarketSymbolFromInstrumentId(long instrumentId)
367
371
368
372
protected override async Task < IWebSocket > OnGetTickersWebSocketAsync ( Action < IReadOnlyCollection < KeyValuePair < string , ExchangeTicker > > > tickers , params string [ ] marketSymbols )
369
373
{
374
+ await EnsureInstrumentIdsAvailable ( ) ;
370
375
var instrumentIds = marketSymbols == null || marketSymbols . Length == 0 ?
371
376
( await GetMarketSymbolsMetadataAsync ( ) ) . Select ( s => ( long ? ) long . Parse ( s . AltMarketSymbol ) ) . ToArray ( ) :
372
377
await GetInstrumentIdFromMarketSymbol ( marketSymbols ) ;
@@ -416,6 +421,7 @@ await socket.SendMessageAsync(new MessageFrame
416
421
417
422
protected override async Task < IWebSocket > OnGetTradesWebSocketAsync ( Func < KeyValuePair < string , ExchangeTrade > , Task > callback , params string [ ] marketSymbols )
418
423
{
424
+ await EnsureInstrumentIdsAvailable ( ) ;
419
425
var instrumentIds = marketSymbols == null || marketSymbols . Length == 0 ?
420
426
( await GetMarketSymbolsMetadataAsync ( ) ) . Select ( s => ( long ? ) long . Parse ( s . AltMarketSymbol ) ) . ToArray ( ) :
421
427
await GetInstrumentIdFromMarketSymbol ( marketSymbols ) ;
0 commit comments