From b713baa75a62335ab9c0eed9ef76a95bfec30668 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Wed, 6 Nov 2019 21:20:39 -0500 Subject: Implement GetMetadata in DescriptorScriptPubKeyMan --- src/wallet/scriptpubkeyman.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src') diff --git a/src/wallet/scriptpubkeyman.cpp b/src/wallet/scriptpubkeyman.cpp index e10c248c64..6aeea700be 100644 --- a/src/wallet/scriptpubkeyman.cpp +++ b/src/wallet/scriptpubkeyman.cpp @@ -2043,6 +2043,19 @@ TransactionError DescriptorScriptPubKeyMan::FillPSBT(PartiallySignedTransaction& std::unique_ptr DescriptorScriptPubKeyMan::GetMetadata(const CTxDestination& dest) const { + std::unique_ptr provider = GetSigningProvider(GetScriptForDestination(dest)); + if (provider) { + KeyOriginInfo orig; + CKeyID key_id = GetKeyForDestination(*provider, dest); + if (provider->GetKeyOrigin(key_id, orig)) { + LOCK(cs_desc_man); + std::unique_ptr meta = MakeUnique(); + meta->key_origin = orig; + meta->has_key_origin = true; + meta->nCreateTime = m_wallet_descriptor.creation_time; + return meta; + } + } return nullptr; } -- cgit v1.2.3