diff --git a/BTCPayServer.Client/BTCPayServer.Client.csproj b/BTCPayServer.Client/BTCPayServer.Client.csproj
index 56c8ae2a3..016b28a91 100644
--- a/BTCPayServer.Client/BTCPayServer.Client.csproj
+++ b/BTCPayServer.Client/BTCPayServer.Client.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/BTCPayServer/Controllers/WalletsController.PSBT.cs b/BTCPayServer/Controllers/WalletsController.PSBT.cs
index 14e699719..399209141 100644
--- a/BTCPayServer/Controllers/WalletsController.PSBT.cs
+++ b/BTCPayServer/Controllers/WalletsController.PSBT.cs
@@ -324,7 +324,10 @@ namespace BTCPayServer.Controllers
var extKey = ExtKey.Parse(vm.SigningKey, network.NBitcoinNetwork);
proposedPayjoin = proposedPayjoin.SignAll(derivationSchemeSettings.AccountDerivation,
extKey,
- RootedKeyPath.Parse(vm.SigningKeyPath));
+ RootedKeyPath.Parse(vm.SigningKeyPath), new SigningOptions()
+ {
+ EnforceLowR = !(vm.SigningContext?.EnforceLowR is false)
+ });
vm.SigningContext.PSBT = proposedPayjoin.ToBase64();
vm.SigningContext.OriginalPSBT = psbt.ToBase64();
proposedPayjoin.Finalize();
diff --git a/BTCPayServer/Controllers/WalletsController.cs b/BTCPayServer/Controllers/WalletsController.cs
index 5c1985dd5..1c6f05256 100644
--- a/BTCPayServer/Controllers/WalletsController.cs
+++ b/BTCPayServer/Controllers/WalletsController.cs
@@ -914,7 +914,10 @@ namespace BTCPayServer.Controllers
return View(viewModel);
}
- var changed = PSBTChanged(psbt, () => psbt.SignAll(settings.AccountDerivation, signingKey, rootedKeyPath));
+ var changed = PSBTChanged(psbt, () => psbt.SignAll(settings.AccountDerivation, signingKey, rootedKeyPath, new SigningOptions()
+ {
+ EnforceLowR = !(viewModel.SigningContext?.EnforceLowR is false)
+ }));
if (!changed)
{
ModelState.AddModelError(nameof(viewModel.SeedOrKey), "Impossible to sign the transaction. Probable cause: Incorrect account key path in wallet settings, PSBT already signed.");
diff --git a/BTCPayServer/Views/Wallets/SigningContext.cshtml b/BTCPayServer/Views/Wallets/SigningContext.cshtml
new file mode 100644
index 000000000..4c689271d
--- /dev/null
+++ b/BTCPayServer/Views/Wallets/SigningContext.cshtml
@@ -0,0 +1,10 @@
+@model BTCPayServer.Models.WalletViewModels.SigningContextModel
+
+@if (Model != null)
+{
+
+
+
+
+
+}