Open apoelstra opened 1 year ago
I think the issue is that our extensions are all Dissat::Unknown
and also Input::zero
. These combine in the threshold malleability logic from upstream which says that any threshold where not every sub-fragment is Dissat::Unique
must be malleable.
(This logic seems wrong to me, btw, at least in the case that k == n
, but we'll accept it for now.)
Anyway I think Input::Zero
and Dissat::Unknown
are logically incompatible ... I think that if we have Input::Zero
we should always have Dissat::Unique
, and changing this will fix the bug.
Trying to find a smaller test case..
Converting this issue into revisiting all the correctness/malleability properties for extensions.
Adding this to
miniscript/mod.rs
results in a panic.