use default crypto for /rates route

This commit is contained in:
Andrew Camilleri 2018-07-27 07:54:55 +02:00
parent 25e9a27a78
commit 64181d1a93
4 changed files with 10 additions and 15 deletions

View file

@ -213,7 +213,7 @@ namespace BTCPayServer.Controllers
bool isDefaultCrypto = false; bool isDefaultCrypto = false;
if (paymentMethodIdStr == null) if (paymentMethodIdStr == null)
{ {
paymentMethodIdStr = store.GetDefaultCrypto(); paymentMethodIdStr = store.GetDefaultCrypto(_NetworkProvider);
isDefaultCrypto = true; isDefaultCrypto = true;
} }

View file

@ -126,23 +126,18 @@ namespace BTCPayServer.Controllers
var supportedMethods = store.GetSupportedPaymentMethods(_NetworkProvider); var supportedMethods = store.GetSupportedPaymentMethods(_NetworkProvider);
var currencyCodes = supportedMethods.Where(method => !string.IsNullOrEmpty(method.CryptoCode)) var currencyCodes = supportedMethods.Where(method => !string.IsNullOrEmpty(method.CryptoCode))
.Select(method => method.CryptoCode).Distinct(); .Select(method => method.CryptoCode).Distinct();
var defaultCrypto = store.GetDefaultCrypto(_NetworkProvider);
foreach (var currencyCode in currencyCodes) foreach (var currencyCode in currencyCodes)
{ {
foreach (var currencyCode2 in currencyCodes)
{
if (currencyCode == currencyCode2)
{
continue;
}
if (!string.IsNullOrEmpty(currencyPairs)) if (!string.IsNullOrEmpty(currencyPairs))
{ {
currencyPairs += ","; currencyPairs += ",";
} }
currencyPairs += $"{currencyCode}_{currencyCode2}"; currencyPairs += $"{defaultCrypto}_{currencyCode}";
}
} }
if (string.IsNullOrEmpty(currencyPairs)) if (string.IsNullOrEmpty(currencyPairs))
{ {
var result = Json(new BitpayErrorsModel() { Error = "You need to specify currencyPairs (eg. BTC_USD,LTC_CAD)" }); var result = Json(new BitpayErrorsModel() { Error = "You need to specify currencyPairs (eg. BTC_USD,LTC_CAD)" });

View file

@ -317,7 +317,7 @@ namespace BTCPayServer.Controllers
{ {
var storeBlob = StoreData.GetStoreBlob(); var storeBlob = StoreData.GetStoreBlob();
var vm = new CheckoutExperienceViewModel(); var vm = new CheckoutExperienceViewModel();
vm.SetCryptoCurrencies(_ExplorerProvider, StoreData.GetDefaultCrypto()); vm.SetCryptoCurrencies(_ExplorerProvider, StoreData.GetDefaultCrypto(_NetworkProvider));
vm.SetLanguages(_LangService, storeBlob.DefaultLang); vm.SetLanguages(_LangService, storeBlob.DefaultLang);
vm.LightningMaxValue = storeBlob.LightningMaxValue?.ToString() ?? ""; vm.LightningMaxValue = storeBlob.LightningMaxValue?.ToString() ?? "";
vm.OnChainMinValue = storeBlob.OnChainMinValue?.ToString() ?? ""; vm.OnChainMinValue = storeBlob.OnChainMinValue?.ToString() ?? "";
@ -352,7 +352,7 @@ namespace BTCPayServer.Controllers
} }
bool needUpdate = false; bool needUpdate = false;
var blob = StoreData.GetStoreBlob(); var blob = StoreData.GetStoreBlob();
if (StoreData.GetDefaultCrypto() != model.DefaultCryptoCurrency) if (StoreData.GetDefaultCrypto(_NetworkProvider) != model.DefaultCryptoCurrency)
{ {
needUpdate = true; needUpdate = true;
StoreData.SetDefaultCrypto(model.DefaultCryptoCurrency); StoreData.SetDefaultCrypto(model.DefaultCryptoCurrency);

View file

@ -197,9 +197,9 @@ namespace BTCPayServer.Data
public IEnumerable<APIKeyData> APIKeys { get; set; } public IEnumerable<APIKeyData> APIKeys { get; set; }
#pragma warning disable CS0618 #pragma warning disable CS0618
public string GetDefaultCrypto() public string GetDefaultCrypto(BTCPayNetworkProvider networkProvider = null)
{ {
return DefaultCrypto ?? "BTC"; return DefaultCrypto ?? (networkProvider == null? "BTC" : GetSupportedPaymentMethods(networkProvider).First().CryptoCode);
} }
public void SetDefaultCrypto(string defaultCryptoCurrency) public void SetDefaultCrypto(string defaultCryptoCurrency)
{ {