From ab99f1d39297e2e84f32033f16368f18e6eeca8e Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Thu, 15 Jan 2026 10:32:40 +0200 Subject: [PATCH] fix handling of non-standard key derivations when writing output descriptors --- drongo | 2 +- src/main/java/com/sparrowwallet/sparrow/BaseController.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drongo b/drongo index 03e2e76b..5cc1b0c5 160000 --- a/drongo +++ b/drongo @@ -1 +1 @@ -Subproject commit 03e2e76b2432bd05ef73ee90f4209a53e2a483f0 +Subproject commit 5cc1b0c551b5e42a24407759cc5daabcbf8e6817 diff --git a/src/main/java/com/sparrowwallet/sparrow/BaseController.java b/src/main/java/com/sparrowwallet/sparrow/BaseController.java index 3b7f4fae..7263ef2a 100644 --- a/src/main/java/com/sparrowwallet/sparrow/BaseController.java +++ b/src/main/java/com/sparrowwallet/sparrow/BaseController.java @@ -1,5 +1,6 @@ package com.sparrowwallet.sparrow; +import com.sparrowwallet.drongo.KeyDerivation; import com.sparrowwallet.drongo.policy.PolicyType; import com.sparrowwallet.drongo.protocol.ScriptChunk; import com.sparrowwallet.drongo.wallet.Keystore; @@ -72,8 +73,7 @@ public abstract class BaseController { StringBuilder builder = new StringBuilder(); builder.append("["); builder.append(keystore.getKeyDerivation().getMasterFingerprint()); - builder.append("/"); - builder.append(keystore.getKeyDerivation().getDerivationPath().replaceFirst("^m?/", "")); + builder.append(KeyDerivation.writePath(KeyDerivation.parsePath(keystore.getKeyDerivation().getDerivationPath())).substring(1)); builder.append("]"); builder.append(keystore.getExtendedPublicKey().toString());