and_v() must never be 'd'. This is not a bug fix since this was unreachable in valid Miniscripts: the first sub of an and_v() must be of type V, which conflicts with (i.e. never has) property 'd'.
miniscript: correct and_v() properties #34434
pull darosior wants to merge 1 commits into bitcoin:master from darosior:2601_miniscript_correct_andv changing 1 files +1 −1-
darosior commented at 8:31 PM on January 28, 2026: member
-
4fab35cf88
miniscript: correct and_v() properties
and_v() must never be 'd'. This is not a bug fix since this was unreachable in valid Miniscripts: the first sub of an and_v() must be of type V, which conflicts with (i.e. never has) property 'd'.
- DrahtBot added the label Descriptors on Jan 28, 2026
-
DrahtBot commented at 8:31 PM on January 28, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste <code><!--meta-tag:bot-skip--></code> into the comment that the bot should ignore.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
-
sipa commented at 8:48 PM on January 28, 2026: member
Code Review ACK 4fab35cf88c048d2784fe6d71d3f83cc4e420879. The specification says
and_vnever has the"d"property, while the code seems to give it the"d"property if both sub-fragments have"d"as well. This has no observable effect, because any valid miniscript won't have"d"in the left sub-fragment.Let's still wait for CI and run some extra fuzzing cycles...
-
sipa commented at 6:10 PM on January 29, 2026: member
ACK 4fab35cf88c048d2784fe6d71d3f83cc4e420879. Fuzzed for 2 months worth of CPU time.
-
achow101 commented at 9:40 PM on January 29, 2026: member
ACK 4fab35cf88c048d2784fe6d71d3f83cc4e420879
- fanquake merged this on Jan 30, 2026
- fanquake closed this on Jan 30, 2026