aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2022-10-26 11:02:35 +0800
committerfanquake <fanquake@gmail.com>2022-10-26 11:10:23 +0800
commit28cf75697186ea8e473e120a643994bdf8237d6c (patch)
tree7c82d37f5ec8f1a1110fa8bd5d8efb30eabe1d4f /src
parentbfce05cc341113a1e7c685950b175dee3aaf2354 (diff)
parent796b020c37c793674f9d614d5d70fd1ed65f0938 (diff)
downloadbitcoin-28cf75697186ea8e473e120a643994bdf8237d6c.tar.xz
Merge bitcoin/bitcoin#23578: Add external signer taproot support
796b020c37c793674f9d614d5d70fd1ed65f0938 wallet: add taproot support to external signer (Sjors Provoost) Pull request description: Builds on #22558 (merged on 2022-06-28). [HWI 2.1.0](https://github.com/bitcoin-core/HWI/releases/tag/2.1.0) or newer is required to import and use taproot descriptors. Older versions will work, but won't import a taproot descriptor. Tested with HWI 2.1.1: * Trezor T (firmware v2.5.1) on Signet: signs, change detection works * Ledger Nano S (firmware 2.1.0, Bitcoin app 2.0.6): signs, change detection works Only the most basic `tr(key)` descriptor is supported, script path spending is completely untested (if it works at all). ACKs for top commit: jb55: utACK 796b020c37c793674f9d614d5d70fd1ed65f0938 achow101: ACK 796b020c37c793674f9d614d5d70fd1ed65f0938 Tree-SHA512: 6dcb7eeb45421a3bbf2bdabeacd29979867db69077d7bf192bb77faa4bfefe446487b8df07bc40f9457009a88e598bdc09f769e6106fed2833ace7ef205a157a
Diffstat (limited to 'src')
-rw-r--r--src/external_signer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/external_signer.cpp b/src/external_signer.cpp
index 0e582629f7..f255834830 100644
--- a/src/external_signer.cpp
+++ b/src/external_signer.cpp
@@ -81,6 +81,9 @@ bool ExternalSigner::SignTransaction(PartiallySignedTransaction& psbtx, std::str
for (const auto& entry : input.hd_keypaths) {
if (parsed_m_fingerprint == MakeUCharSpan(entry.second.fingerprint)) return true;
}
+ for (const auto& entry : input.m_tap_bip32_paths) {
+ if (parsed_m_fingerprint == MakeUCharSpan(entry.second.second.fingerprint)) return true;
+ }
return false;
};