From dc65313313e9b1c14ad031e99db920407b80925a Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Sat, 13 Nov 2021 15:05:45 +0200 Subject: [PATCH] show wallet output descriptors with multipath indexes as per bitcoin core pr #22838 --- drongo | 2 +- .../com/sparrowwallet/sparrow/control/DescriptorArea.java | 3 ++- src/main/java/com/sparrowwallet/sparrow/io/Descriptor.java | 3 ++- .../com/sparrowwallet/sparrow/wallet/SettingsController.java | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/drongo b/drongo index ebf7128a..8e492478 160000 --- a/drongo +++ b/drongo @@ -1 +1 @@ -Subproject commit ebf7128ae5737c3ae4f9b54ad0df72b9bfa63594 +Subproject commit 8e4924783224fc894b45855cdbd866981413db3b diff --git a/src/main/java/com/sparrowwallet/sparrow/control/DescriptorArea.java b/src/main/java/com/sparrowwallet/sparrow/control/DescriptorArea.java index da23de9b..fb3a7f0b 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/DescriptorArea.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/DescriptorArea.java @@ -1,5 +1,6 @@ package com.sparrowwallet.sparrow.control; +import com.sparrowwallet.drongo.KeyPurpose; import com.sparrowwallet.drongo.OutputDescriptor; import com.sparrowwallet.drongo.policy.PolicyType; import com.sparrowwallet.drongo.protocol.ScriptType; @@ -79,7 +80,7 @@ public class DescriptorArea extends CodeArea { copyOutputDescriptor.setOnAction(AE -> { hide(); ClipboardContent content = new ClipboardContent(); - content.putString(OutputDescriptor.getOutputDescriptor(wallet).toString(true)); + content.putString(OutputDescriptor.getOutputDescriptor(wallet, KeyPurpose.DEFAULT_PURPOSES, null).toString(true)); Clipboard.getSystemClipboard().setContent(content); }); getItems().add(copyOutputDescriptor); diff --git a/src/main/java/com/sparrowwallet/sparrow/io/Descriptor.java b/src/main/java/com/sparrowwallet/sparrow/io/Descriptor.java index 5e2976c9..e65d9f31 100644 --- a/src/main/java/com/sparrowwallet/sparrow/io/Descriptor.java +++ b/src/main/java/com/sparrowwallet/sparrow/io/Descriptor.java @@ -1,5 +1,6 @@ package com.sparrowwallet.sparrow.io; +import com.sparrowwallet.drongo.KeyPurpose; import com.sparrowwallet.drongo.OutputDescriptor; import com.sparrowwallet.drongo.wallet.Wallet; import com.sparrowwallet.drongo.wallet.WalletModel; @@ -23,7 +24,7 @@ public class Descriptor implements WalletImport, WalletExport { @Override public void exportWallet(Wallet wallet, OutputStream outputStream) throws ExportException { try { - OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(wallet); + OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(wallet, KeyPurpose.DEFAULT_PURPOSES, null); String outputDescriptorString = outputDescriptor.toString(true); outputStream.write(outputDescriptorString.getBytes(StandardCharsets.UTF_8)); outputStream.flush(); diff --git a/src/main/java/com/sparrowwallet/sparrow/wallet/SettingsController.java b/src/main/java/com/sparrowwallet/sparrow/wallet/SettingsController.java index c27bafe4..abfc1b49 100644 --- a/src/main/java/com/sparrowwallet/sparrow/wallet/SettingsController.java +++ b/src/main/java/com/sparrowwallet/sparrow/wallet/SettingsController.java @@ -376,7 +376,7 @@ public class SettingsController extends WalletFormController implements Initiali } public void editDescriptor(ActionEvent event) { - OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(walletForm.getWallet()); + OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(walletForm.getWallet(), KeyPurpose.DEFAULT_PURPOSES, null); String outputDescriptorString = outputDescriptor.toString(walletForm.getWallet().isValid()); TextAreaDialog dialog = new TextAreaDialog(outputDescriptorString); @@ -408,7 +408,7 @@ public class SettingsController extends WalletFormController implements Initiali } public void showDescriptor(ActionEvent event) { - OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(walletForm.getWallet()); + OutputDescriptor outputDescriptor = OutputDescriptor.getOutputDescriptor(walletForm.getWallet(), KeyPurpose.DEFAULT_PURPOSES, null); String outputDescriptorString = outputDescriptor.toString(walletForm.getWallet().isValid()); TextAreaDialog dialog = new TextAreaDialog(outputDescriptorString, false);