Allow direct compilation of a Policy into a valid Descriptor#352
Merged
sanket1729 merged 1 commit intorust-bitcoin:masterfrom Jun 20, 2022
Merged
Conversation
1a67189 to
63ee549
Compare
sanket1729
reviewed
May 7, 2022
src/policy/concrete.rs
Outdated
| Wsh, | ||
| /// ShWsh | ||
| ShWsh, | ||
| /// Tr |
Member
There was a problem hiding this comment.
This should mention that Option is internal key
Merged
63ee549 to
3fa3436
Compare
Member
|
I will review this after we get the first PR in. |
d8a7caf to
faee661
Compare
sanket1729
added a commit
that referenced
this pull request
May 19, 2022
2b13694 Add non-trivial multi-node example (Aman Rojjha) 1c2a80e Add validity and malleability checks. (Aman Rojjha) 0866807 Add P2Tr compiler (Aman Rojjha) 285207e Internal-key extraction done (Aman Rojjha) 26fc574 Policy to single-leaf TapTree compilation done (Aman Rojjha) Pull request description: This PR builds on top of #278. This is one in a series of PRs aimed to implement a feature-complete *Pay-to-Taproot* **P2Tr** compiler. Specifically, this introduces a basic compilation for a given policy by collecting the leaf nodes of the *tree* generated by considering root-level disjunctive `OR`and using this to generate a `TapTree`. > Assuming that _duplicate keys_ are **NOT** possible even in different branches of the TapTree. # Follow Up PRs - #342 - Uses heuristic for tree-generation/ _merging_ algorithm while buillding `TapTree` to optimize over the *expected average total cost*. - #352 - A future PR implementing enumerative strategies for optimizing `thresh` `k`-of-`n` and similar structures. ACKs for top commit: apoelstra: ACK 2b13694 sanket1729: ACK 2b13694 . Let's push forward on this. In the interest of ACKs and multiple rebases already done here, I am merging this. We recently shifted to rust 2018. And this code has a bunch of warnings because of it. Tree-SHA512: 4ceca51a383f5d52b572a16937bbcc3a9c53f0247e4b6df57a6547fd0b1c7cc33ff04dd9a476914bcf6d0a09e255918b8f7ebfe176c839d6ae31c84613dce67f
faee661 to
8865059
Compare
8865059 to
00c9b50
Compare
Member
|
This can be rebased again after v2 one. Let's try to merge this before thresh enumeration |
f8bdd1e to
02d08f2
Compare
Member
|
Merged v2 one, this can be rebased on top of master now |
02d08f2 to
f464e33
Compare
apoelstra
previously approved these changes
Jun 18, 2022
sanket1729
reviewed
Jun 19, 2022
Member
sanket1729
left a comment
There was a problem hiding this comment.
Left two small documentation comments
f464e33 to
92f178a
Compare
92f178a to
169d849
Compare
Contributor
Author
|
@sanket1729 Done! |
apoelstra
approved these changes
Jun 20, 2022
heap-coder
added a commit
to heap-coder/rust-miniscript
that referenced
this pull request
Sep 27, 2025
… Policy into a valid Descriptor
169d8498567e33b5ccf9ff37788884538914c72d Add policy to descriptor target compilation method (Aman Rojjha)
Pull request description:
This PR works on top of #291 and #342. It introduces a new function `compile_to_descriptor` which requires a `DescriptorCtx` (suggestions for a better enum name are welcome!) allowing directly compilation of a policy into the specified descriptor type.
ACKs for top commit:
apoelstra:
ACK 169d8498567e33b5ccf9ff37788884538914c72d
sanket1729:
ACK 169d8498567e33b5ccf9ff37788884538914c72d
Tree-SHA512: 0f895f4774ea4f56db76280ac756df616a70e5d7d60cc128f9a050ef86658f786b2d45885d748dba51751146a6e93b3731f4ae193b7d80284ffaea20be1e8f92
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR works on top of #291 and #342. It introduces a new function
compile_to_descriptorwhich requires aDescriptorCtx(suggestions for a better enum name are welcome!) allowing directly compilation of a policy into the specified descriptor type.