-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge #59: CT descriptor: remove generic from blinding key
f4be6af CT descriptor: test cases with wildcards (Leonardo Comandini) eafc28d CT descriptor: handle bare/view keys with wildcards (Leonardo Comandini) 8ffda8c CT descriptor: implement at_derivation_index (Leonardo Comandini) da8d16c CT descriptor: remove generic from blinding key (Leonardo Comandini) Pull request description: The generic was only used by the `Bare` variant, which was inconsistent with its corresponding "secret" variant, `View`. The generic could be used to handle the conversion from `ConfidentialDescriptor<DescriptorPublicKey>` to `Descriptor<DefiniteDescriptorKey>`, specifically making sure that the descriptor blinding key does not have wildcards. For the `Bare` variant this could be done, but this cannot happen for the `View` variant, since we don't have the definite version of `DescriptorSecretKey`. The proposed solution consists in: * Remove generic from descriptor blinding key (this commit) * Add `ConfidentialDescriptor::at_derivation_index` that "removes" wildcards from both the "bitcoin" descriptor and the descriptor blinding key. This makes deriving an address from a CT descriptor with wildcards less cumbersome. * Change `Key::to_public_key(&self, secp, spk)` to return a `Result` and error if `Key` has some wildcards. This will fix the case `ct(xprv/*,desc)` which is currently broken. * Add test cases for blinding keys with wildcards * Add test vectors with blinding keys with wildcards to ELIP-150 ACKs for top commit: apoelstra: ACK f4be6af Tree-SHA512: f991785026190bcb445f7458a66ee06207dbe24bb6c82eb1c34856778b5bb7056fbfdf3a1ce1f863e789467d9dc378f05a09f9015554ed353d3c3aacaa3a3b94
- Loading branch information
Showing
1 changed file
with
124 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters