@@ -456,51 +456,6 @@ protected override async Task<IEnumerable<KeyValuePair<string, ExchangeTicker>>>
456
456
return tickers ;
457
457
}
458
458
459
- protected override async Task < IWebSocket > OnGetTickersWebSocketAsync (
460
- Action < IReadOnlyCollection < KeyValuePair < string , ExchangeTicker > > > callback ,
461
- params string [ ] symbols ) =>
462
- await ConnectWebsocketPublicAsync (
463
- async ( socket ) => { await SubscribeToChannel ( socket , "ticker" , symbols ) ; } ,
464
- async ( socket , symbol , sArray , token ) =>
465
- {
466
- var tickers = new List < KeyValuePair < string , ExchangeTicker > >
467
- {
468
- new KeyValuePair < string , ExchangeTicker > ( symbol ,
469
- await this . ParseTickerWebSocketAsync ( symbol , token ) )
470
- } ;
471
- callback ( tickers ) ;
472
- } ) ;
473
-
474
- protected override async Task < IWebSocket > OnGetTradesWebSocketAsync (
475
- Func < KeyValuePair < string , ExchangeTrade > , Task > callback ,
476
- params string [ ] marketSymbols ) =>
477
- await ConnectWebsocketPublicAsync (
478
- async ( socket ) => { await SubscribeToChannel ( socket , "trades" , marketSymbols ) ; } ,
479
- async ( socket , symbol , sArray , token ) =>
480
- {
481
- var trade = token . ParseTrade ( amountKey : "quantity" , priceKey : "price" , typeKey : "takerSide" ,
482
- timestampKey : "ts" , TimestampType . UnixMilliseconds , idKey : "id" ) ;
483
- await callback ( new KeyValuePair < string , ExchangeTrade > ( symbol , trade ) ) ;
484
- } ) ;
485
-
486
- protected override async Task < IWebSocket > OnGetDeltaOrderBookWebSocketAsync (
487
- Action < ExchangeOrderBook > callback ,
488
- int maxCount = 20 ,
489
- params string [ ] marketSymbols )
490
- {
491
- return await ConnectWebsocketPublicAsync (
492
- async ( socket ) =>
493
- {
494
- await SubscribeToOrderBookDepthChannel ( socket , marketSymbols , maxCount ) ;
495
- } , ( socket , symbol , sArray , token ) =>
496
- {
497
- var book = token . ParseOrderBookFromJTokenArrays ( ) ;
498
- book . MarketSymbol = symbol ;
499
- callback ( book ) ;
500
- return Task . CompletedTask ;
501
- } ) ;
502
- }
503
-
504
459
protected override async Task < ExchangeOrderBook > OnGetOrderBookAsync ( string marketSymbol , int maxCount = 100 )
505
460
{
506
461
//https://api.poloniex.com/markets/{symbol}/orderBook?scale={scale}&limit={limit}
@@ -853,6 +808,65 @@ protected override async Task<IEnumerable<ExchangeTransaction>> OnGetDepositHist
853
808
return transactions ;
854
809
}
855
810
811
+ protected override async Task < IWebSocket > OnGetTickersWebSocketAsync (
812
+ Action < IReadOnlyCollection < KeyValuePair < string , ExchangeTicker > > > callback ,
813
+ params string [ ] symbols ) =>
814
+ await ConnectWebsocketPublicAsync (
815
+ async ( socket ) => { await SubscribeToChannel ( socket , "ticker" , symbols ) ; } ,
816
+ async ( socket , symbol , sArray , token ) =>
817
+ {
818
+ var tickers = new List < KeyValuePair < string , ExchangeTicker > >
819
+ {
820
+ new KeyValuePair < string , ExchangeTicker > ( symbol ,
821
+ await this . ParseTickerWebSocketAsync ( symbol , token ) )
822
+ } ;
823
+ callback ( tickers ) ;
824
+ } ) ;
825
+
826
+ protected override async Task < IWebSocket > OnGetTradesWebSocketAsync (
827
+ Func < KeyValuePair < string , ExchangeTrade > , Task > callback ,
828
+ params string [ ] marketSymbols ) =>
829
+ await ConnectWebsocketPublicAsync (
830
+ async ( socket ) => { await SubscribeToChannel ( socket , "trades" , marketSymbols ) ; } ,
831
+ async ( socket , symbol , sArray , token ) =>
832
+ {
833
+ var trade = token . ParseTrade ( amountKey : "quantity" , priceKey : "price" , typeKey : "takerSide" ,
834
+ timestampKey : "ts" , TimestampType . UnixMilliseconds , idKey : "id" ) ;
835
+ await callback ( new KeyValuePair < string , ExchangeTrade > ( symbol , trade ) ) ;
836
+ } ) ;
837
+
838
+ protected override async Task < IWebSocket > OnGetDeltaOrderBookWebSocketAsync (
839
+ Action < ExchangeOrderBook > callback ,
840
+ int maxCount = 20 ,
841
+ params string [ ] marketSymbols ) =>
842
+ await ConnectWebsocketPublicAsync (
843
+ async ( socket ) => { await SubscribeToOrderBookDepthChannel ( socket , marketSymbols , maxCount ) ; } ,
844
+ ( socket , symbol , sArray , token ) =>
845
+ {
846
+ var book = token . ParseOrderBookFromJTokenArrays ( ) ;
847
+ book . MarketSymbol = symbol ;
848
+ callback ( book ) ;
849
+ return Task . CompletedTask ;
850
+ } ) ;
851
+
852
+ protected override async Task < IWebSocket > OnGetCandlesWebSocketAsync (
853
+ Func < MarketCandle , Task > callback ,
854
+ int periodSeconds ,
855
+ params string [ ] marketSymbols ) =>
856
+ await ConnectWebsocketPublicAsync (
857
+ async ( socket ) =>
858
+ {
859
+ await SubscribeToChannel ( socket ,
860
+ $ "candles_{ CryptoUtility . SecondsToPeriodStringLongReverse ( periodSeconds ) . ToLowerInvariant ( ) } ",
861
+ marketSymbols ) ;
862
+ } , async ( socket , symbol , sArray , token ) =>
863
+ {
864
+ var candle = this . ParseCandle ( token , symbol , periodSeconds , "open" , "high" , "low" , "close" ,
865
+ "ts" , TimestampType . UnixMilliseconds , "quantity" , "amount" , null , "tradeCount" ) ;
866
+
867
+ await callback ( candle ) ;
868
+ } ) ;
869
+
856
870
private static string ParseFeesCurrency ( bool isBuy , string symbol )
857
871
{
858
872
string feesCurrency = null ;
0 commit comments