From 7b3700c2c694eafba97da829c15f0e8f6ba30738 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Mon, 8 Apr 2019 21:56:44 +0900 Subject: [PATCH] Fix bitbank API weirdness (Fix #741) --- BTCPayServer/Services/Rates/BitbankRateProvider.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/BTCPayServer/Services/Rates/BitbankRateProvider.cs b/BTCPayServer/Services/Rates/BitbankRateProvider.cs index 1b13d0b37..00f970405 100644 --- a/BTCPayServer/Services/Rates/BitbankRateProvider.cs +++ b/BTCPayServer/Services/Rates/BitbankRateProvider.cs @@ -24,9 +24,17 @@ namespace BTCPayServer.Services.Rates var jobj = await response.Content.ReadAsAsync(cancellationToken); return new ExchangeRates(((jobj["data"] as JObject) ?? new JObject()) .Properties() - .Select(p => new ExchangeRate(ExchangeName, CurrencyPair.Parse(p.Name), new BidAsk(p.Value["buy"].Value(), p.Value["sell"].Value()))) + .Select(p => new ExchangeRate(ExchangeName, CurrencyPair.Parse(p.Name), CreateBidAsk(p))) .ToArray()); - + + } + + private static BidAsk CreateBidAsk(JProperty p) + { + var buy = p.Value["buy"].Value(); + var sell = p.Value["sell"].Value(); + // Bug from their API (https://github.com/btcpayserver/btcpayserver/issues/741) + return buy < sell ? new BidAsk(buy, sell) : new BidAsk(sell, buy); } } }