Implement GetMetadata in DescriptorScriptPubKeyMan
This commit is contained in:
parent
8b9603bd0b
commit
b713baa75a
|
@ -2043,6 +2043,19 @@ TransactionError DescriptorScriptPubKeyMan::FillPSBT(PartiallySignedTransaction&
|
||||||
|
|
||||||
std::unique_ptr<CKeyMetadata> DescriptorScriptPubKeyMan::GetMetadata(const CTxDestination& dest) const
|
std::unique_ptr<CKeyMetadata> DescriptorScriptPubKeyMan::GetMetadata(const CTxDestination& dest) const
|
||||||
{
|
{
|
||||||
|
std::unique_ptr<SigningProvider> 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<CKeyMetadata> meta = MakeUnique<CKeyMetadata>();
|
||||||
|
meta->key_origin = orig;
|
||||||
|
meta->has_key_origin = true;
|
||||||
|
meta->nCreateTime = m_wallet_descriptor.creation_time;
|
||||||
|
return meta;
|
||||||
|
}
|
||||||
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue