mirror of
https://github.com/JKorf/CryptoExchange.Net
synced 2026-02-16 22:23:54 +00:00
Fixed trading mode selection for futures listen key method in FuturesUserDataTracker
This commit is contained in:
parent
1ed29b0474
commit
ece6a9d27d
@ -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);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user