mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 15:04:44 +01:00
rpc: Add parent descriptor to getaddressinfo output
Adds parent_desc field to getaddressinfo output which contains the descriptor that was used to derive the address if it is available.
This commit is contained in:
parent
bbe4a36152
commit
e4ac869a0a
1 changed files with 9 additions and 0 deletions
|
@ -3663,6 +3663,7 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
|
|||
{RPCResult::Type::BOOL, "iswatchonly", "If the address is watchonly."},
|
||||
{RPCResult::Type::BOOL, "solvable", "If we know how to spend coins sent to this address, ignoring the possible lack of private keys."},
|
||||
{RPCResult::Type::STR, "desc", /* optional */ true, "A descriptor for spending coins sent to this address (only when solvable)."},
|
||||
{RPCResult::Type::STR, "parent_desc", /* optional */ true, "The descriptor used to derive this address if this is a descriptor wallet"},
|
||||
{RPCResult::Type::BOOL, "isscript", "If the key is a script."},
|
||||
{RPCResult::Type::BOOL, "ischange", "If the address was used for change output."},
|
||||
{RPCResult::Type::BOOL, "iswitness", "If the address is a witness address."},
|
||||
|
@ -3732,6 +3733,14 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
|
|||
ret.pushKV("desc", InferDescriptor(scriptPubKey, *provider)->ToString());
|
||||
}
|
||||
|
||||
DescriptorScriptPubKeyMan* desc_spk_man = dynamic_cast<DescriptorScriptPubKeyMan*>(pwallet->GetScriptPubKeyMan(scriptPubKey));
|
||||
if (desc_spk_man) {
|
||||
std::string desc_str;
|
||||
if (desc_spk_man->GetDescriptorString(desc_str, false)) {
|
||||
ret.pushKV("parent_desc", desc_str);
|
||||
}
|
||||
}
|
||||
|
||||
ret.pushKV("iswatchonly", bool(mine & ISMINE_WATCH_ONLY));
|
||||
|
||||
UniValue detail = DescribeWalletAddress(pwallet, dest);
|
||||
|
|
Loading…
Add table
Reference in a new issue