Skip to content

Commit aea0cc7

Browse files
vsleejjxtra
authored andcommitted
Digifinex: fixed IsLastFromSnapshot bug (#440)
- previously it was marking the last trade in the batch as IsLastFromSnapshot even if it was not from a snapshot - include IsLastFromSnapshot in ExchangeTrade.ToString()
1 parent 57c73aa commit aea0cc7

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

ExchangeSharp/API/Exchanges/Digifnex/ExchangeDigifinexAPI.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,9 @@ protected override IWebSocket OnGetTradesWebSocket(Func<KeyValuePair<string, Exc
391391
{
392392
if (callback == null)
393393
return null;
394-
return ConnectWebSocket(string.Empty, async (_socket, msg) =>
394+
else if (marketSymbols == null || marketSymbols.Length == 0)
395+
marketSymbols = GetMarketSymbolsAsync().Sync().ToArray();
396+
return ConnectWebSocket(string.Empty, async (_socket, msg) =>
395397
{
396398
// {
397399
// "method": "trades.update",
@@ -427,11 +429,12 @@ protected override IWebSocket OnGetTradesWebSocket(Func<KeyValuePair<string, Exc
427429
var flags = default(ExchangeTradeFlags);
428430
if (isbuy)
429431
flags |= ExchangeTradeFlags.IsBuy;
430-
if (clean)
431-
flags |= ExchangeTradeFlags.IsFromSnapshot;
432-
if (i == x.Count - 1)
433-
flags |= ExchangeTradeFlags.IsLastFromSnapshot;
434-
432+
if (clean)
433+
{
434+
flags |= ExchangeTradeFlags.IsFromSnapshot;
435+
if (i == x.Count - 1)
436+
flags |= ExchangeTradeFlags.IsLastFromSnapshot;
437+
}
435438
await callback.Invoke(new KeyValuePair<string, ExchangeTrade>(
436439
symbol, new ExchangeTrade
437440
{
@@ -458,7 +461,7 @@ protected override IWebSocket OnGetDeltaOrderBookWebSocket(Action<ExchangeOrderB
458461
return null;
459462
}
460463

461-
return ConnectWebSocket(string.Empty, (_socket, msg) =>
464+
return ConnectWebSocket(string.Empty, (_socket, msg) =>
462465
{
463466
//{
464467
// "method": "depth.update",

ExchangeSharp/Model/ExchangeTrade.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,12 @@ public bool IsBuy
6464
/// <returns>String</returns>
6565
public override string ToString()
6666
{
67-
return string.Format("{0:s},p:{1},a:{2},{3},id:{4},{5}",
67+
StringBuilder flagsSB = new StringBuilder();
68+
flagsSB.Append((Flags & ExchangeTradeFlags.IsFromSnapshot) == ExchangeTradeFlags.IsFromSnapshot ? "snap:" : "");
69+
flagsSB.Append((Flags & ExchangeTradeFlags.IsLastFromSnapshot) == ExchangeTradeFlags.IsLastFromSnapshot ? "last" : "");
70+
return string.Format("{0:s},p:{1},a:{2},{3},id:{4},{5}",
6871
Timestamp, Price, Amount, IsBuy ? "Buy" : "Sell",
69-
Id, (Flags & ExchangeTradeFlags.IsFromSnapshot) == ExchangeTradeFlags.IsFromSnapshot ? "snap" : "");
72+
Id, flagsSB);
7073
}
7174

7275
/// <summary>

0 commit comments

Comments
 (0)