aboutsummaryrefslogtreecommitdiff
path: root/src/external_signer.cpp
diff options
context:
space:
mode:
authoravirgovi <avirgovi@cisco.com>2022-04-28 19:52:51 +0200
committeravirgovi <avirgovi@cisco.com>2022-05-07 11:09:52 +0200
commit2a22f034ca3298c9f86d1edd4283a0bea18dfbbe (patch)
tree21e396d51b4057d7250ce924125bce06295a43f5 /src/external_signer.cpp
parent74d9f4bd950f5ff6d52090fd3a4338c83e565e5d (diff)
downloadbitcoin-2a22f034ca3298c9f86d1edd4283a0bea18dfbbe.tar.xz
parsing external signer master fingerprint string as bytes instead of caring for lower/upper case in ExternalSigner::SignTransaction
Diffstat (limited to 'src/external_signer.cpp')
-rw-r--r--src/external_signer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/external_signer.cpp b/src/external_signer.cpp
index 75070899c6..d125fe479b 100644
--- a/src/external_signer.cpp
+++ b/src/external_signer.cpp
@@ -74,11 +74,12 @@ bool ExternalSigner::SignTransaction(PartiallySignedTransaction& psbtx, std::str
// Serialize the PSBT
CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
ssTx << psbtx;
-
+ // parse ExternalSigner master fingerprint
+ std::vector<unsigned char> parsed_m_fingerprint = ParseHex(m_fingerprint);
// Check if signer fingerprint matches any input master key fingerprint
auto matches_signer_fingerprint = [&](const PSBTInput& input) {
for (const auto& entry : input.hd_keypaths) {
- if (m_fingerprint == strprintf("%08x", ReadBE32(entry.second.fingerprint))) return true;
+ if (parsed_m_fingerprint == MakeUCharSpan(entry.second.fingerprint)) return true;
}
return false;
};