Enum miniscript::miniscript::types::ErrorKind [−][src]
pub enum ErrorKind {}Show 17 variants
ZeroTime, NonZeroDupIf, ZeroThreshold, OverThreshold(usize, usize), NoStrongChild, LeftNotDissatisfiable, RightNotDissatisfiable, SwapNonOne, NonZeroZero, LeftNotUnit, ChildBase1(Base), ChildBase2(Base, Base), ChildBase3(Base, Base, Base), ThresholdBase(usize, Base), ThresholdDissat(usize), ThresholdNonUnit(usize), ThresholdNotStrong { k: usize, n: usize, n_strong: usize, },
Expand description
Detailed type of a typechecker error
Variants
Relative or absolute timelock had a time value of 0
Passed a z
argument to a d
wrapper when z
was expected
Multisignature or threshold policy had a k
value of 0
Multisignature or threshold policy has a k
value in
excess of the number of subfragments
Attempted to construct a disjunction (or andor
) for which
none of the child nodes were strong. This means that a 3rd
party could produce a satisfaction for any branch, meaning
that no matter which one an honest signer chooses, it is
possible to malleate the transaction.
Many fragments (all disjunctions except or_i
as well as
andor
require their left child be dissatisfiable.
or_b
requires its right child be dissatisfiable
Tried to use the s:
modifier on a fragment that takes more
than one input
Tried to use the j:
(SIZE 0NOTEQUAL IF
) wrapper on something
that may be satisfied by a 0 input
Many fragments require their left child to be a unit. This was not the case.
ChildBase1(Base)
Attempted to construct a wrapper, but the child had an invalid type
Attempted to construct a conjunction or disjunction, but the fragments’ children were of invalid types
Attempted to construct an andor
but the fragments’
children were of invalid types
The nth child of a threshold fragment had an invalid type (the
first must be B
and the rest W
s)
ThresholdDissat(usize)
The nth child of a threshold fragment did not have a unique satisfaction
ThresholdNonUnit(usize)
The nth child of a threshold fragment was not a unit
Insufficiently many children of a threshold fragment were strong
Fields of ThresholdNotStrong
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations
Mutably borrows from an owned value. Read more