From 61ed816c87fab957345089f39d91992a8100bc8b Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Sun, 31 May 2026 11:55:38 +0200 Subject: [PATCH] improve verification of psbt sighash types --- drongo | 2 +- .../java/com/sparrowwallet/sparrow/AppController.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drongo b/drongo index 7d0699fa..cab72b20 160000 --- a/drongo +++ b/drongo @@ -1 +1 @@ -Subproject commit 7d0699faa0d89a04c37425d018f143a4e26b49b9 +Subproject commit cab72b203709accc0a3c602fbeba6c15398ad527 diff --git a/src/main/java/com/sparrowwallet/sparrow/AppController.java b/src/main/java/com/sparrowwallet/sparrow/AppController.java index 1f9af267..12e138dd 100644 --- a/src/main/java/com/sparrowwallet/sparrow/AppController.java +++ b/src/main/java/com/sparrowwallet/sparrow/AppController.java @@ -2058,6 +2058,16 @@ public class AppController implements Initializable { AppServices.showErrorDialog("Invalid PSBT", e.getMessage()); return; } + + try { + psbt.verifySigHashes(); + } catch(PSBTSignatureException e) { + Optional result = AppServices.showWarningDialog("Unsafe PSBT", + e.getMessage() + "\n\nThis PSBT may be unsafe to sign.\n\nOpen the transaction?", ButtonType.YES, ButtonType.NO); + if(result.isEmpty() || result.get() != ButtonType.YES) { + return; + } + } } //Skip the warning for already-confirmed transactions loaded for inspection