diff --git a/BTCPayServer/BTCPayServer.csproj b/BTCPayServer/BTCPayServer.csproj index 82375ca57..270e3a962 100644 --- a/BTCPayServer/BTCPayServer.csproj +++ b/BTCPayServer/BTCPayServer.csproj @@ -2,7 +2,7 @@ Exe netcoreapp2.0 - 1.0.0.19 + 1.0.0.20 diff --git a/BTCPayServer/Controllers/InvoiceController.cs b/BTCPayServer/Controllers/InvoiceController.cs index 75f0edefd..2c14f33f2 100644 --- a/BTCPayServer/Controllers/InvoiceController.cs +++ b/BTCPayServer/Controllers/InvoiceController.cs @@ -104,7 +104,7 @@ namespace BTCPayServer.Controllers entity.ProductInformation = Map(invoice); entity.RedirectURL = invoice.RedirectURL ?? store.StoreWebsite; entity.Status = "new"; - entity.SpeedPolicy = store.SpeedPolicy; + entity.SpeedPolicy = ParseSpeedPolicy(invoice.TransactionSpeed, store.SpeedPolicy); entity.TxFee = (await _FeeProvider.GetFeeRateAsync()).GetFee(100); // assume price for 100 bytes entity.Rate = (double)await _RateProvider.GetRateAsync(invoice.Currency); entity.PosData = invoice.PosData; @@ -117,6 +117,17 @@ namespace BTCPayServer.Controllers return new DataWrapper(resp) { Facade = "pos/invoice" }; } + private SpeedPolicy ParseSpeedPolicy(string transactionSpeed, SpeedPolicy defaultPolicy) + { + var mappings = new Dictionary(); + mappings.Add("low", SpeedPolicy.LowSpeed); + mappings.Add("medium", SpeedPolicy.MediumSpeed); + mappings.Add("high", SpeedPolicy.HighSpeed); + if(!mappings.TryGetValue(transactionSpeed, out SpeedPolicy policy)) + policy = defaultPolicy; + return policy; + } + private void FillBuyerInfo(Buyer buyer, BuyerInformation buyerInformation) { if(buyer == null)