mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-20 13:37:28 +02:00
refactor: extract descriptor ID calculation from spkm GetID()
This allows us to verify the descriptor ID on the descriptors unit tests in different software versions without requiring to use the entire DescriptorScriptPubKeyMan machinery. Note: The unit test changes are introduced after the bugfix commit but this commit + the unit test commit can be cherry-picked on top of the v25 branch to verify IDs correctness. IDs must be the same for v25 and after the bugfix commit.
This commit is contained in:
parent
1d207e3931
commit
97a965d98f
3 changed files with 14 additions and 4 deletions
|
|
@ -1778,6 +1778,14 @@ std::unique_ptr<Descriptor> InferDescriptor(const CScript& script, const Signing
|
|||
return InferScript(script, ParseScriptContext::TOP, provider);
|
||||
}
|
||||
|
||||
uint256 DescriptorID(const Descriptor& desc)
|
||||
{
|
||||
std::string desc_str = desc.ToString();
|
||||
uint256 id;
|
||||
CSHA256().Write((unsigned char*)desc_str.data(), desc_str.size()).Finalize(id.begin());
|
||||
return id;
|
||||
}
|
||||
|
||||
void DescriptorCache::CacheParentExtPubKey(uint32_t key_exp_pos, const CExtPubKey& xpub)
|
||||
{
|
||||
m_parent_xpubs[key_exp_pos] = xpub;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue