diff --git a/BTCPayServer/Components/StoreNumbers/StoreNumbers.cs b/BTCPayServer/Components/StoreNumbers/StoreNumbers.cs index 807bae230..5229969b5 100644 --- a/BTCPayServer/Components/StoreNumbers/StoreNumbers.cs +++ b/BTCPayServer/Components/StoreNumbers/StoreNumbers.cs @@ -17,7 +17,7 @@ namespace BTCPayServer.Components.StoreNumbers; public class StoreNumbers : ViewComponent { - private const string CryptoCode = "BTC"; + private string CryptoCode; private const int TransactionDays = 7; private readonly StoreRepository _storeRepo; @@ -35,6 +35,7 @@ public class StoreNumbers : ViewComponent _walletProvider = walletProvider; _networkProvider = networkProvider; _dbContextFactory = dbContextFactory; + CryptoCode = networkProvider.DefaultNetwork.CryptoCode; } public async Task InvokeAsync(StoreData store) diff --git a/BTCPayServer/Components/StoreRecentTransactions/StoreRecentTransactions.cs b/BTCPayServer/Components/StoreRecentTransactions/StoreRecentTransactions.cs index ace9dc152..46e50577c 100644 --- a/BTCPayServer/Components/StoreRecentTransactions/StoreRecentTransactions.cs +++ b/BTCPayServer/Components/StoreRecentTransactions/StoreRecentTransactions.cs @@ -21,7 +21,7 @@ namespace BTCPayServer.Components.StoreRecentTransactions; public class StoreRecentTransactions : ViewComponent { - private const string CryptoCode = "BTC"; + private string CryptoCode; private readonly StoreRepository _storeRepo; private readonly ApplicationDbContextFactory _dbContextFactory; private readonly BTCPayWalletProvider _walletProvider; @@ -41,6 +41,7 @@ public class StoreRecentTransactions : ViewComponent ConnectionFactory = connectionFactory; _walletProvider = walletProvider; _dbContextFactory = dbContextFactory; + CryptoCode = networkProvider.DefaultNetwork.CryptoCode; } diff --git a/BTCPayServer/Components/StoreWalletBalance/StoreWalletBalance.cs b/BTCPayServer/Components/StoreWalletBalance/StoreWalletBalance.cs index 1b6ea69e7..66901bd0e 100644 --- a/BTCPayServer/Components/StoreWalletBalance/StoreWalletBalance.cs +++ b/BTCPayServer/Components/StoreWalletBalance/StoreWalletBalance.cs @@ -18,16 +18,17 @@ namespace BTCPayServer.Components.StoreWalletBalance; public class StoreWalletBalance : ViewComponent { - private const string CryptoCode = "BTC"; + private string CryptoCode; private const WalletHistogramType DefaultType = WalletHistogramType.Week; private readonly StoreRepository _storeRepo; private readonly WalletHistogramService _walletHistogramService; - public StoreWalletBalance(StoreRepository storeRepo, WalletHistogramService walletHistogramService) + public StoreWalletBalance(StoreRepository storeRepo, WalletHistogramService walletHistogramService, BTCPayNetworkProvider networkProvider) { _storeRepo = storeRepo; _walletHistogramService = walletHistogramService; + CryptoCode = networkProvider.DefaultNetwork.CryptoCode; } public async Task InvokeAsync(StoreData store) diff --git a/BTCPayServer/Controllers/UIInvoiceController.UI.cs b/BTCPayServer/Controllers/UIInvoiceController.UI.cs index 2f5c92cb1..44088698b 100644 --- a/BTCPayServer/Controllers/UIInvoiceController.UI.cs +++ b/BTCPayServer/Controllers/UIInvoiceController.UI.cs @@ -568,8 +568,8 @@ namespace BTCPayServer.Controllers } if (paymentMethodId is null) { - paymentMethodId = enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.BTCLike) ?? - enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.LightningLike) ?? + paymentMethodId = enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.BTCLike) ?? + enabledPaymentIds.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.LightningLike) ?? enabledPaymentIds.FirstOrDefault(); } isDefaultPaymentId = true; @@ -689,7 +689,7 @@ namespace BTCPayServer.Controllers }) }; }).Where(c => c.CryptoImage != "/") - .OrderByDescending(a => a.CryptoCode == "BTC").ThenBy(a => a.PaymentMethodName).ThenBy(a => a.IsLightning ? 1 : 0) + .OrderByDescending(a => a.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode).ThenBy(a => a.PaymentMethodName).ThenBy(a => a.IsLightning ? 1 : 0) .ToList() }; paymentMethodHandler.PreparePaymentModel(model, dto, storeBlob, paymentMethod); diff --git a/BTCPayServer/Controllers/UIStoresController.cs b/BTCPayServer/Controllers/UIStoresController.cs index 78825a2b4..26da22747 100644 --- a/BTCPayServer/Controllers/UIStoresController.cs +++ b/BTCPayServer/Controllers/UIStoresController.cs @@ -464,8 +464,8 @@ namespace BTCPayServer.Controllers var defaultChoice = defaultPaymentId is not null ? defaultPaymentId.FindNearest(enabled) : null; if (defaultChoice is null) { - defaultChoice = enabled.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.BTCLike) ?? - enabled.FirstOrDefault(e => e.CryptoCode == "BTC" && e.PaymentType == PaymentTypes.LightningLike) ?? + defaultChoice = enabled.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.BTCLike) ?? + enabled.FirstOrDefault(e => e.CryptoCode == _NetworkProvider.DefaultNetwork.CryptoCode && e.PaymentType == PaymentTypes.LightningLike) ?? enabled.FirstOrDefault(); } var choices = GetEnabledPaymentMethodChoices(storeData); diff --git a/BTCPayServer/ModelBinders/DerivationSchemeModelBinder.cs b/BTCPayServer/ModelBinders/DerivationSchemeModelBinder.cs index b6ef87cbf..2aa15bb36 100644 --- a/BTCPayServer/ModelBinders/DerivationSchemeModelBinder.cs +++ b/BTCPayServer/ModelBinders/DerivationSchemeModelBinder.cs @@ -32,7 +32,7 @@ namespace BTCPayServer.ModelBinders var networkProvider = (BTCPayNetworkProvider)bindingContext.HttpContext.RequestServices.GetService(typeof(BTCPayNetworkProvider)); var cryptoCode = bindingContext.ValueProvider.GetValue("cryptoCode").FirstValue; - var network = networkProvider.GetNetwork(cryptoCode ?? "BTC"); + var network = networkProvider.GetNetwork(cryptoCode ?? networkProvider.DefaultNetwork.CryptoCode); try { var data = network.NBXplorerNetwork.DerivationStrategyFactory.Parse(key);