Skip to content

Commit 3f3ef3f

Browse files
committed
Pull request cleanup
1 parent 428f1ef commit 3f3ef3f

File tree

1 file changed

+57
-53
lines changed

1 file changed

+57
-53
lines changed

ExchangeSharp/API/Exchanges/Digifnex/ExchangeDigifinexAPI.cs

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,18 @@ protected override async Task OnGetNonceOffset()
3939
var timeFaster = now - serverDate;
4040
if (timeFaster <= TimeSpan.Zero)
4141
{
42-
timeWindow = (timeFaster.Negate().TotalSeconds*10).ToString();
42+
timeWindow = (timeFaster.Negate().TotalSeconds * 10).ToStringInvariant();
4343
NonceOffset = TimeSpan.FromSeconds(2.5);
4444
}
4545
else
46+
{
4647
NonceOffset = now - serverDate; // how much time to substract from Nonce when making a request
48+
}
49+
}
50+
catch
51+
{
52+
// eat exception
4753
}
48-
catch (Exception)
49-
{ }
5054
}
5155

5256
protected override async Task ProcessRequestAsync(IHttpWebRequest request, Dictionary<string, object> payload)
@@ -67,7 +71,7 @@ protected override async Task ProcessRequestAsync(IHttpWebRequest request, Dicti
6771
string signature = CryptoUtility.SHA256Sign(query, CryptoUtility.ToUnsecureBytesUTF8(PrivateApiKey));
6872
request.AddHeader("ACCESS-KEY", PublicApiKey.ToUnsecureString());
6973
request.AddHeader("ACCESS-SIGN", signature);
70-
request.AddHeader("ACCESS-TIMESTAMP", nonce.ToString());
74+
request.AddHeader("ACCESS-TIMESTAMP", nonce.ToStringInvariant());
7175
if (timeWindow != null)
7276
request.AddHeader("ACCESS-RECV-WINDOW", timeWindow);
7377

@@ -113,8 +117,8 @@ ExchangeMarket ParseSymbol(JToken x)
113117
QuoteCurrency = quoteCurrency,
114118
PriceStepSize = new decimal(1, 0, 0, false, (byte)x["price_precision"]),
115119
QuantityStepSize = new decimal(1, 0, 0, false, (byte)x["volume_precision"]),
116-
MinTradeSize = (decimal)x["min_volume"],
117-
MinTradeSizeInQuoteCurrency = (decimal)x["min_amount"],
120+
MinTradeSize = x["min_volume"].ConvertInvariant<decimal>(),
121+
MinTradeSizeInQuoteCurrency = x["min_amount"].ConvertInvariant<decimal>(),
118122
};
119123
}
120124

@@ -138,16 +142,16 @@ ExchangeTicker ParseTicker(JToken x)
138142

139143
return new ExchangeTicker
140144
{
141-
Ask = (decimal)t["sell"],
142-
Bid = (decimal)t["buy"],
143-
Last = (decimal)t["last"],
145+
Ask = t["sell"].ConvertInvariant<decimal>(),
146+
Bid = t["buy"].ConvertInvariant<decimal>(),
147+
Last = t["last"].ConvertInvariant<decimal>(),
144148
MarketSymbol = symbol,
145149
Volume = new ExchangeVolume
146150
{
147151
BaseCurrency = baseCurrency,
148152
QuoteCurrency = quoteCurrency,
149-
QuoteCurrencyVolume = (decimal)t["base_vol"],
150-
BaseCurrencyVolume = (decimal)t["vol"],
153+
QuoteCurrencyVolume = t["base_vol"].ConvertInvariant<decimal>(),
154+
BaseCurrencyVolume = t["vol"].ConvertInvariant<decimal>(),
151155
Timestamp = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["date"].ConvertInvariant<long>()),
152156
},
153157
};
@@ -174,11 +178,11 @@ protected override async Task<IEnumerable<ExchangeTrade>> OnGetRecentTradesAsync
174178
return obj["data"].Select(x => new ExchangeTrade
175179
{
176180
Id = x["id"].ToStringInvariant(),
177-
Amount = (decimal)x["amount"],
178-
Price = (decimal)x["price"],
179-
IsBuy = x["type"].ToStringInvariant() != "sell",
181+
Amount = x["amount"].ConvertInvariant<decimal>(),
182+
Price = x["price"].ConvertInvariant<decimal>(),
183+
IsBuy = x["type"].ToStringLowerInvariant() != "sell",
180184
Timestamp = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["date"].ConvertInvariant<long>()),
181-
Flags = x["type"].ToStringInvariant() == "sell" ? default : ExchangeTradeFlags.IsBuy,
185+
Flags = x["type"].ToStringLowerInvariant() == "sell" ? default : ExchangeTradeFlags.IsBuy,
182186
});
183187
}
184188

@@ -190,7 +194,7 @@ protected override async Task<IEnumerable<MarketCandle>> OnGetCandlesAsync(
190194

191195
string period;
192196
if (periodSeconds <= 60 * 720)
193-
period = (periodSeconds / 60).ToString();
197+
period = (periodSeconds / 60).ToStringInvariant();
194198
else if (periodSeconds == 24 * 60 * 60)
195199
period = "1D";
196200
else if (periodSeconds == 7 * 24 * 60 * 60)
@@ -208,11 +212,11 @@ protected override async Task<IEnumerable<MarketCandle>> OnGetCandlesAsync(
208212
return obj["data"].Select(x => new MarketCandle
209213
{
210214
Timestamp = CryptoUtility.UnixTimeStampToDateTimeSeconds(x[0].ConvertInvariant<long>()),
211-
BaseCurrencyVolume = (double)x[1],
212-
ClosePrice = (decimal)x[2],
213-
HighPrice = (decimal)x[3],
214-
LowPrice = (decimal)x[4],
215-
OpenPrice = (decimal)x[5],
215+
BaseCurrencyVolume = x[1].ConvertInvariant<double>(),
216+
ClosePrice = x[2].ConvertInvariant<decimal>(),
217+
HighPrice = x[3].ConvertInvariant<decimal>(),
218+
LowPrice = x[4].ConvertInvariant<decimal>(),
219+
OpenPrice = x[5].ConvertInvariant<decimal>(),
216220
});
217221
}
218222

@@ -253,15 +257,15 @@ protected override async Task<IEnumerable<ExchangeOrderResult>> OnGetOpenOrderDe
253257
var list = token["data"];
254258
return list.Select(x => new ExchangeOrderResult
255259
{
256-
MarketSymbol = x["symbol"].ToStringInvariant(),
260+
MarketSymbol = x["symbol"].ToStringUpperInvariant(),
257261
OrderId = x["order_id"].ToStringInvariant(),
258262
OrderDate = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["created_date"].ConvertInvariant<long>()),
259263
FillDate = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["finished_date"].ConvertInvariant<long>()),
260-
Price = (decimal)x["price"],
261-
AveragePrice = (decimal)x["avg_price"],
262-
Amount = (decimal)x["amount"],
263-
AmountFilled = (decimal)x["executed_amount"],
264-
IsBuy = x["type"].ToStringInvariant() == "buy",
264+
Price = x["price"].ConvertInvariant<decimal>(),
265+
AveragePrice = x["avg_price"].ConvertInvariant<decimal>(),
266+
Amount = x["amount"].ConvertInvariant<decimal>(),
267+
AmountFilled = x["executed_amount"].ConvertInvariant<decimal>(),
268+
IsBuy = x["type"].ToStringLowerInvariant() == "buy",
265269
Result = ParseOrderStatus(x["status"]),
266270
});
267271
}
@@ -278,22 +282,22 @@ protected override async Task<IEnumerable<ExchangeOrderResult>> OnGetCompletedOr
278282
if (afterDate != null)
279283
{
280284
var startTime = (long)afterDate.Value.UnixTimestampFromDateTimeSeconds();
281-
url += "&start_time=" + startTime.ToString();
285+
url += "&start_time=" + startTime.ToStringInvariant();
282286
}
283287

284288
JToken token = await MakeJsonRequestAsync<JToken>(url, payload: payload);
285289
var list = token["list"];
286290
return list.Select(x => new ExchangeOrderResult
287291
{
288-
MarketSymbol = x["symbol"].ToStringInvariant(),
292+
MarketSymbol = x["symbol"].ToStringUpperInvariant(),
289293
OrderId = x["order_id"].ToStringInvariant(),
290294
TradeId = x["id"].ToStringInvariant(),
291-
Price = (decimal)x["price"],
292-
AmountFilled = (decimal)x["amount"],
293-
Fees = (decimal)x["fee"],
295+
Price = x["price"].ConvertInvariant<decimal>(),
296+
AmountFilled = x["amount"].ConvertInvariant<decimal>(),
297+
Fees = x["fee"].ConvertInvariant<decimal>(),
294298
FeesCurrency = x["fee_currency"].ToStringInvariant(),
295299
FillDate = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["timestamp"].ConvertInvariant<long>()),
296-
IsBuy = x["side"].ToStringInvariant() == "buy",
300+
IsBuy = x["side"].ToStringLowerInvariant() == "buy",
297301
Result = ExchangeAPIOrderResult.Unknown,
298302
});
299303
}
@@ -305,15 +309,15 @@ protected override async Task<ExchangeOrderResult> OnGetOrderDetailsAsync(string
305309
var x = token["data"];
306310
return new ExchangeOrderResult
307311
{
308-
MarketSymbol = x["symbol"].ToStringInvariant(),
312+
MarketSymbol = x["symbol"].ToStringUpperInvariant(),
309313
OrderId = x["order_id"].ToStringInvariant(),
310314
OrderDate = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["created_date"].ConvertInvariant<long>()),
311315
FillDate = CryptoUtility.UnixTimeStampToDateTimeSeconds(x["finished_date"].ConvertInvariant<long>()),
312-
Price = (decimal)x["price"],
313-
AveragePrice = (decimal)x["avg_price"],
314-
Amount = (decimal)x["amount"],
315-
AmountFilled = (decimal)x["executed_amount"],
316-
IsBuy = x["type"].ToStringInvariant() == "buy",
316+
Price = x["price"].ConvertInvariant<decimal>(),
317+
AveragePrice = x["avg_price"].ConvertInvariant<decimal>(),
318+
Amount = x["amount"].ConvertInvariant<decimal>(),
319+
AmountFilled = x["executed_amount"].ConvertInvariant<decimal>(),
320+
IsBuy = x["type"].ToStringLowerInvariant() == "buy",
317321
Result = ParseOrderStatus(x["status"]),
318322
};
319323
}
@@ -323,15 +327,15 @@ protected override async Task<Dictionary<string, decimal>> OnGetAmountsAsync()
323327
Dictionary<string, object> payload = await GetNoncePayloadAsync();
324328
JToken token = await MakeJsonRequestAsync<JToken>("/spot/assets", payload: payload);
325329
var list = token["list"];
326-
return list.Where(x => (decimal)x["total"] != 0).ToDictionary(x => x["currency"].ToStringInvariant(), x => (decimal)x["total"]);
330+
return list.Where(x => x["total"].ConvertInvariant<decimal>() != 0m).ToDictionary(x => x["currency"].ToStringUpperInvariant(), x => x["total"].ConvertInvariant<decimal>());
327331
}
328332

329333
protected override async Task<Dictionary<string, decimal>> OnGetAmountsAvailableToTradeAsync()
330334
{
331335
Dictionary<string, object> payload = await GetNoncePayloadAsync();
332336
JToken token = await MakeJsonRequestAsync<JToken>("/spot/assets", payload: payload);
333337
var list = token["list"];
334-
return list.Where(x => (decimal)x["free"] != 0).ToDictionary(x => x["currency"].ToStringInvariant(), x => (decimal)x["free"]);
338+
return list.Where(x => x["free"].ConvertInvariant<decimal>() != 0m).ToDictionary(x => x["currency"].ToStringUpperInvariant(), x => x["free"].ConvertInvariant<decimal>());
335339
}
336340

337341
string GetOrderType(ExchangeOrderRequest order)
@@ -408,18 +412,18 @@ protected override IWebSocket OnGetTradesWebSocket(Func<KeyValuePair<string, Exc
408412
// "id": null
409413
// }
410414
JToken token = JToken.Parse(CryptoUtility.DecompressDeflate((new ArraySegment<byte>(msg, 2, msg.Length-2)).ToArray()).ToStringFromUTF8());
411-
if (token["method"].ToStringInvariant() == "trades.update")
415+
if (token["method"].ToStringLowerInvariant() == "trades.update")
412416
{
413417
var args = token["params"];
414418
var clean = (bool)args[0];
415419
var trades = args[1];
416-
var symbol = args[2].ToStringInvariant();
420+
var symbol = args[2].ToStringUpperInvariant();
417421

418422
var x = trades as JArray;
419423
for (int i=0; i<x.Count; i++)
420424
{
421425
var trade = x[i];
422-
var isbuy = trade["type"].ToStringInvariant() != "sell";
426+
var isbuy = trade["type"].ToStringLowerInvariant() != "sell";
423427
var flags = default(ExchangeTradeFlags);
424428
if (isbuy)
425429
flags |= ExchangeTradeFlags.IsBuy;
@@ -432,9 +436,9 @@ await callback.Invoke(new KeyValuePair<string, ExchangeTrade>(
432436
symbol, new ExchangeTrade
433437
{
434438
Id = trade["id"].ToStringInvariant(),
435-
Timestamp = CryptoUtility.UnixTimeStampToDateTimeSeconds(0).AddSeconds((double)trade["time"]),
436-
Price = (decimal)trade["price"],
437-
Amount = (decimal)trade["amount"],
439+
Timestamp = CryptoUtility.UnixTimeStampToDateTimeSeconds(0).AddSeconds(trade["time"].ConvertInvariant<double>()),
440+
Price = trade["price"].ConvertInvariant<decimal>(),
441+
Amount = trade["amount"].ConvertInvariant<decimal>(),
438442
IsBuy = isbuy,
439443
Flags = flags,
440444
}));
@@ -487,20 +491,20 @@ protected override IWebSocket OnGetDeltaOrderBookWebSocket(Action<ExchangeOrderB
487491
// "id": null
488492
//}
489493
JToken token = JToken.Parse(CryptoUtility.DecompressDeflate((new ArraySegment<byte>(msg, 2, msg.Length - 2)).ToArray()).ToStringFromUTF8());
490-
if (token["method"].ToStringInvariant() == "depth.update")
494+
if (token["method"].ToStringLowerInvariant() == "depth.update")
491495
{
492496
var args = token["params"];
493497
var data = args[1];
494-
var book = new ExchangeOrderBook { LastUpdatedUtc = CryptoUtility.UtcNow, MarketSymbol = args[2].ToStringInvariant() };
498+
var book = new ExchangeOrderBook { LastUpdatedUtc = CryptoUtility.UtcNow, MarketSymbol = args[2].ToStringUpperInvariant() };
495499
foreach (var x in data["asks"])
496500
{
497-
var price = (decimal)x[0];
498-
book.Asks[price] = new ExchangeOrderPrice { Price = price, Amount = (decimal)x[1] };
501+
var price = x[0].ConvertInvariant<decimal>();
502+
book.Asks[price] = new ExchangeOrderPrice { Price = price, Amount = x[1].ConvertInvariant<decimal>() };
499503
}
500504
foreach (var x in data["bids"])
501505
{
502-
var price = (decimal)x[0];
503-
book.Bids[price] = new ExchangeOrderPrice { Price = price, Amount = (decimal)x[1] };
506+
var price = x[0].ConvertInvariant<decimal>();
507+
book.Bids[price] = new ExchangeOrderPrice { Price = price, Amount = x[1].ConvertInvariant<decimal>() };
504508
}
505509
callback(book);
506510
}

0 commit comments

Comments
 (0)