From 405f4db05a092c4b46561fd976bb4cde341b9f6d Mon Sep 17 00:00:00 2001 From: jevidon Date: Fri, 3 May 2024 09:52:08 -0500 Subject: [PATCH 1/4] Update CaravanMultisig.java Sparrow currently makes an assumption about the derivation path to replace the "UNKNOWN" masked derivation path. Changing this to m/0/0/0/0 matches the masking provided in the Coldcard multisig config file, ensuring users are able to sign transactions without being rejected by Coldcard for a derivation path mismatch. --- .../java/com/sparrowwallet/sparrow/io/CaravanMultisig.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java index 8c84b667..c764bf39 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java @@ -28,7 +28,7 @@ public class CaravanMultisig implements WalletImport, WalletExport { @Override public String getName() { - return "Unchained or Caravan Multisig"; + return "Caravan (Unchained Multisig)"; } @Override @@ -56,7 +56,7 @@ public Wallet importWallet(InputStream inputStream, String password) throws Impo Keystore keystore = new Keystore(extKey.name.length() > Keystore.MAX_LABEL_LENGTH ? extKey.name.substring(0, Keystore.MAX_LABEL_LENGTH) : extKey.name); if("Unknown".equals(extKey.bip32Path)) { - extKey.bip32Path = "m/45'/0/0/0"; + extKey.bip32Path = "m/0/0/0/0"; } try { From c42a7fd3886c21e18ebd58c2974a6107de373eb5 Mon Sep 17 00:00:00 2001 From: jevidon Date: Fri, 3 May 2024 10:09:47 -0500 Subject: [PATCH 2/4] Update CaravanMultisig.java --- .../java/com/sparrowwallet/sparrow/io/CaravanMultisig.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java index c764bf39..432a6920 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java @@ -55,10 +55,6 @@ public Wallet importWallet(InputStream inputStream, String password) throws Impo for(ExtPublicKey extKey : cf.extendedPublicKeys) { Keystore keystore = new Keystore(extKey.name.length() > Keystore.MAX_LABEL_LENGTH ? extKey.name.substring(0, Keystore.MAX_LABEL_LENGTH) : extKey.name); - if("Unknown".equals(extKey.bip32Path)) { - extKey.bip32Path = "m/0/0/0/0"; - } - try { keystore.setKeyDerivation(new KeyDerivation(extKey.xfp, extKey.bip32Path)); } catch(NumberFormatException e) { From debeb8275720f8c0900c7a9138d0f5efe762ecad Mon Sep 17 00:00:00 2001 From: jevidon Date: Fri, 3 May 2024 10:55:14 -0500 Subject: [PATCH 3/4] Update CaravanMultisig.java Reversing changes to original PR. --- .../java/com/sparrowwallet/sparrow/io/CaravanMultisig.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java index 432a6920..3e73e676 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/CaravanMultisig.java @@ -55,6 +55,10 @@ public Wallet importWallet(InputStream inputStream, String password) throws Impo for(ExtPublicKey extKey : cf.extendedPublicKeys) { Keystore keystore = new Keystore(extKey.name.length() > Keystore.MAX_LABEL_LENGTH ? extKey.name.substring(0, Keystore.MAX_LABEL_LENGTH) : extKey.name); + if("Unknown".equals(extKey.bip32Path)) { + extKey.bip32Path = "m/0/0/0/0"; + } + try { keystore.setKeyDerivation(new KeyDerivation(extKey.xfp, extKey.bip32Path)); } catch(NumberFormatException e) { From e288473d2892ead077247e5ee98b2aec100d78f8 Mon Sep 17 00:00:00 2001 From: jevidon Date: Fri, 3 May 2024 10:56:20 -0500 Subject: [PATCH 4/4] Update CaravanMultisig.java