1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-08-13 09:23:04 +00:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Jkorf 65291b3195 Updated to version 10.5.1 2026-02-10 11:53:23 +01:00
Jkorf ece6a9d27d Fixed trading mode selection for futures listen key method in FuturesUserDataTracker 2026-02-10 11:51:19 +01:00
3 changed files with 16 additions and 8 deletions
+3 -3
View File
@@ -6,9 +6,9 @@
<PackageId>CryptoExchange.Net</PackageId> <PackageId>CryptoExchange.Net</PackageId>
<Authors>JKorf</Authors> <Authors>JKorf</Authors>
<Description>CryptoExchange.Net is a base library which is used to implement different cryptocurrency (exchange) API's. It provides a standardized way of implementing different API's, which results in a very similar experience for users of the API implementations.</Description> <Description>CryptoExchange.Net is a base library which is used to implement different cryptocurrency (exchange) API's. It provides a standardized way of implementing different API's, which results in a very similar experience for users of the API implementations.</Description>
<PackageVersion>10.5.0</PackageVersion> <PackageVersion>10.5.1</PackageVersion>
<AssemblyVersion>10.5.0</AssemblyVersion> <AssemblyVersion>10.5.1</AssemblyVersion>
<FileVersion>10.5.0</FileVersion> <FileVersion>10.5.1</FileVersion>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance> <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<PackageTags>OKX;OKX.Net;Mexc;Mexc.Net;Kucoin;Kucoin.Net;Kraken;Kraken.Net;Huobi;Huobi.Net;CoinEx;CoinEx.Net;Bybit;Bybit.Net;Bitget;Bitget.Net;Bitfinex;Bitfinex.Net;Binance;Binance.Net;CryptoCurrency;CryptoCurrency Exchange;CryptoExchange.Net</PackageTags> <PackageTags>OKX;OKX.Net;Mexc;Mexc.Net;Kucoin;Kucoin.Net;Kraken;Kraken.Net;Huobi;Huobi.Net;CoinEx;CoinEx.Net;Bybit;Bybit.Net;Bitget;Bitget.Net;Bitfinex;Bitfinex.Net;Binance;Binance.Net;CryptoCurrency;CryptoCurrency Exchange;CryptoExchange.Net</PackageTags>
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
@@ -20,6 +20,7 @@ namespace CryptoExchange.Net.Trackers.UserData
private readonly IFuturesSymbolRestClient _symbolClient; private readonly IFuturesSymbolRestClient _symbolClient;
private readonly IListenKeyRestClient? _listenKeyClient; private readonly IListenKeyRestClient? _listenKeyClient;
private readonly ExchangeParameters? _exchangeParameters; private readonly ExchangeParameters? _exchangeParameters;
private readonly TradingMode _tradingMode;
private Task? _lkKeepAliveTask; private Task? _lkKeepAliveTask;
/// <inheritdoc /> /// <inheritdoc />
@@ -69,10 +70,14 @@ namespace CryptoExchange.Net.Trackers.UserData
_listenKeyClient = listenKeyRestClient; _listenKeyClient = listenKeyRestClient;
_exchangeParameters = exchangeParameters; _exchangeParameters = exchangeParameters;
_tradingMode = accountType == SharedAccountType.PerpetualInverseFutures ? TradingMode.PerpetualInverse :
accountType == SharedAccountType.DeliveryLinearFutures ? TradingMode.DeliveryLinear :
accountType == SharedAccountType.DeliveryInverseFutures ? TradingMode.DeliveryInverse :
TradingMode.PerpetualLinear;
var trackers = new List<UserDataItemTracker>(); var trackers = new List<UserDataItemTracker>();
var balanceAccountType = accountType ?? SharedAccountType.PerpetualLinearFutures; var balanceTracker = new BalanceTracker(logger, balanceRestClient, balanceSocketClient, accountType ?? SharedAccountType.PerpetualLinearFutures, config.BalancesConfig, exchangeParameters);
var balanceTracker = new BalanceTracker(logger, balanceRestClient, balanceSocketClient, balanceAccountType, config.BalancesConfig, exchangeParameters);
Balances = balanceTracker; Balances = balanceTracker;
trackers.Add(balanceTracker); trackers.Add(balanceTracker);
@@ -100,7 +105,7 @@ namespace CryptoExchange.Net.Trackers.UserData
/// <inheritdoc /> /// <inheritdoc />
protected override async Task<CallResult> DoStartAsync() protected override async Task<CallResult> DoStartAsync()
{ {
var symbolResult = await _symbolClient.GetFuturesSymbolsAsync(new GetSymbolsRequest(exchangeParameters: _exchangeParameters)).ConfigureAwait(false); var symbolResult = await _symbolClient.GetFuturesSymbolsAsync(new GetSymbolsRequest(_tradingMode, exchangeParameters: _exchangeParameters)).ConfigureAwait(false);
if (!symbolResult) if (!symbolResult)
{ {
_logger.LogWarning("Failed to start UserFuturesDataTracker; symbols request failed: {Error}", symbolResult.Error); _logger.LogWarning("Failed to start UserFuturesDataTracker; symbols request failed: {Error}", symbolResult.Error);
@@ -109,7 +114,7 @@ namespace CryptoExchange.Net.Trackers.UserData
if (_listenKeyClient != null) if (_listenKeyClient != null)
{ {
var lkResult = await _listenKeyClient.StartListenKeyAsync(new StartListenKeyRequest(exchangeParameters: _exchangeParameters)).ConfigureAwait(false); var lkResult = await _listenKeyClient.StartListenKeyAsync(new StartListenKeyRequest(_tradingMode, exchangeParameters: _exchangeParameters)).ConfigureAwait(false);
if (!lkResult) if (!lkResult)
{ {
_logger.LogWarning("Failed to start UserFuturesDataTracker; listen key request failed: {Error}", lkResult.Error); _logger.LogWarning("Failed to start UserFuturesDataTracker; listen key request failed: {Error}", lkResult.Error);
@@ -141,7 +146,7 @@ namespace CryptoExchange.Net.Trackers.UserData
break; break;
} }
var result = await _listenKeyClient!.KeepAliveListenKeyAsync(new KeepAliveListenKeyRequest(_listenKey!, TradingMode.Spot)).ConfigureAwait(false); var result = await _listenKeyClient!.KeepAliveListenKeyAsync(new KeepAliveListenKeyRequest(_listenKey!, _tradingMode)).ConfigureAwait(false);
if (!result) if (!result)
_logger.LogWarning("Listen key keep alive failed: " + result.Error); _logger.LogWarning("Listen key keep alive failed: " + result.Error);
+3
View File
@@ -67,6 +67,9 @@ Make a one time donation in a crypto currency of your choice. If you prefer to d
Alternatively, sponsor me on Github using [Github Sponsors](https://github.com/sponsors/JKorf). Alternatively, sponsor me on Github using [Github Sponsors](https://github.com/sponsors/JKorf).
## Release notes ## Release notes
* Version 10.5.1 - 10 Feb 2026
* Fixed trading mode selection for futures listen key methods in FuturesUserDataTracker
* Version 10.5.0 - 10 Feb 2026 * Version 10.5.0 - 10 Feb 2026
* Added keep alive for listenkeys to UserDataTracker * Added keep alive for listenkeys to UserDataTracker
* Updated logging unmatched websocket message * Updated logging unmatched websocket message