Skip to content

Commit dffb3b1

Browse files
authored
Feature/kraken private websocket support (#603)
* Initial pass at private web socket support for OnGetPositionsWebSocketAsync() for Kraken. * Finish Kraken positions private websocket support.
1 parent e4c48ce commit dffb3b1

27 files changed

+2536
-2319
lines changed

src/ExchangeSharp/API/Common/BaseAPI.cs

Lines changed: 726 additions & 667 deletions
Large diffs are not rendered by default.

src/ExchangeSharp/API/Exchanges/BL3P/ExchangeBL3PAPI.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Task MessageCallback(IWebSocket _, byte[] msg)
139139

140140
return new MultiWebsocketWrapper(
141141
await Task.WhenAll(
142-
marketSymbols.Select(ms => ConnectWebSocketAsync($"{ms}/orderbook", MessageCallback))
142+
marketSymbols.Select(ms => ConnectPublicWebSocketAsync($"{ms}/orderbook", MessageCallback))
143143
)
144144
);
145145
}
@@ -164,7 +164,7 @@ Task MessageCallback(IWebSocket _, byte[] msg)
164164

165165
return new MultiWebsocketWrapper(
166166
await Task.WhenAll(
167-
marketSymbols.Select(ms => ConnectWebSocketAsync($"{ms}/trades", MessageCallback))
167+
marketSymbols.Select(ms => ConnectPublicWebSocketAsync($"{ms}/trades", MessageCallback))
168168
)
169169
);
170170
}

src/ExchangeSharp/API/Exchanges/BinanceGroup/BinanceGroupCommon.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ protected override async Task<IEnumerable<KeyValuePair<string, ExchangeTicker>>>
234234

235235
protected override Task<IWebSocket> OnGetTickersWebSocketAsync(Action<IReadOnlyCollection<KeyValuePair<string, ExchangeTicker>>> callback, params string[] symbols)
236236
{
237-
return ConnectWebSocketAsync("/stream?streams=!ticker@arr", async (_socket, msg) =>
237+
return ConnectPublicWebSocketAsync("/stream?streams=!ticker@arr", async (_socket, msg) =>
238238
{
239239
JToken token = JToken.Parse(msg.ToStringFromUTF8());
240240
List<KeyValuePair<string, ExchangeTicker>> tickerList = new List<KeyValuePair<string, ExchangeTicker>>();
@@ -274,7 +274,7 @@ protected override async Task<IWebSocket> OnGetTradesWebSocketAsync(Func<KeyValu
274274
marketSymbols = (await GetMarketSymbolsAsync()).ToArray();
275275
}
276276
string url = await GetWebSocketStreamUrlForSymbolsAsync("@aggTrade", marketSymbols);
277-
return await ConnectWebSocketAsync(url, messageCallback: async (_socket, msg) =>
277+
return await ConnectPublicWebSocketAsync(url, messageCallback: async (_socket, msg) =>
278278
{
279279
JToken token = JToken.Parse(msg.ToStringFromUTF8());
280280
string name = token["stream"].ToStringInvariant();
@@ -297,7 +297,7 @@ protected override async Task<IWebSocket> OnGetDeltaOrderBookWebSocketAsync(Acti
297297
marketSymbols = (await GetMarketSymbolsAsync()).ToArray();
298298
}
299299
string combined = string.Join("/", marketSymbols.Select(s => this.NormalizeMarketSymbol(s).ToLowerInvariant() + "@depth@100ms"));
300-
return await ConnectWebSocketAsync($"/stream?streams={combined}", (_socket, msg) =>
300+
return await ConnectPublicWebSocketAsync($"/stream?streams={combined}", (_socket, msg) =>
301301
{
302302
string json = msg.ToStringFromUTF8();
303303
var update = JsonConvert.DeserializeObject<MultiDepthStream>(json);
@@ -1130,7 +1130,7 @@ protected override async Task<IEnumerable<ExchangeTransaction>> OnGetDepositHist
11301130

11311131
protected override async Task<IWebSocket> OnUserDataWebSocketAsync(Action<object> callback, string listenKey)
11321132
{
1133-
return await ConnectWebSocketAsync($"/ws/{listenKey}", (_socket, msg) =>
1133+
return await ConnectPublicWebSocketAsync($"/ws/{listenKey}", (_socket, msg) =>
11341134
{
11351135
JToken token = JToken.Parse(msg.ToStringFromUTF8());
11361136
var eventType = token["e"].ToStringInvariant();

src/ExchangeSharp/API/Exchanges/BinanceGroup/ExchangeBinanceDEXAPI.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ protected override async Task<IWebSocket> OnGetTradesWebSocketAsync(Func<KeyValu
103103
{
104104
marketSymbols = (await GetMarketSymbolsAsync()).ToArray();
105105
}
106-
return await ConnectWebSocketAsync(string.Empty, messageCallback: async (_socket, msg) =>
106+
return await ConnectPublicWebSocketAsync(string.Empty, messageCallback: async (_socket, msg) =>
107107
{
108108
JToken token = JToken.Parse(msg.ToStringFromUTF8());
109109
if (token["stream"].ToStringLowerInvariant() == "trades")

0 commit comments

Comments
 (0)