Enum elements_miniscript::Error [−][src]
pub enum Error {}Show 38 variants
InvalidOpcode(All), NonMinimalVerify(Token), InvalidPush(Vec<u8>), Script(Error), CmsTooManyKeys(u32), Unprintable(u8), ExpectedChar(char), UnexpectedStart, Unexpected(String), MultiColon(String), MultiAt(String), AtOutsideOr(String), NonCanonicalTrue, NonCanonicalFalse, LikelyFalse, UnknownWrapper(char), NonTopLevel(String), Trailing(String), BadPubkey(Error), MissingHash(Hash), MissingSig(PublicKey), RelativeLocktimeNotMet(u32), AbsoluteLocktimeNotMet(u32), CouldNotSatisfy, TypeCheck(String), BadDescriptor(String), Secp(Error), PolicyError(PolicyError), LiftError(LiftError), ContextError(ScriptContextError), MaxRecursiveDepthExceeded, ScriptSizeTooLarge, NonStandardBareScript, AnalysisError(AnalysisError), ImpossibleSatisfaction, BareDescriptorAddr, BtcError(Error), CovError(CovError),
Expand description
Miniscript
Variants
InvalidOpcode(All)
Opcode appeared which is not part of the script subset
NonMinimalVerify(Token)
Some opcode occurred followed by OP_VERIFY
when it had
a VERIFY
version that should have been used instead
Push was illegal in some context
Script(Error)
rust-bitcoin script error
CmsTooManyKeys(u32)
A CHECKMULTISIG
opcode was preceded by a number > 20
Unprintable(u8)
Encountered unprintable character in descriptor
ExpectedChar(char)
expected character while parsing descriptor; didn’t find one
While parsing backward, hit beginning of script
Unexpected(String)
Got something we were not expecting
MultiColon(String)
Name of a fragment contained :
multiple times
MultiAt(String)
Name of a fragment contained @
multiple times
AtOutsideOr(String)
Name of a fragment contained @
but we were not parsing an OR
Fragment was an and_v(_, true)
which should be written as t:
Fragment was an or_i(_, false)
or or_i(false,_)
which should be written as u:
or l:
Encountered a l:0
which is syntactically equal to u:0
except stupid
UnknownWrapper(char)
Encountered a wrapping character that we don’t recognize
NonTopLevel(String)
Parsed a miniscript and the result was not of type T
Trailing(String)
Parsed a miniscript but there were more script opcodes after it
BadPubkey(Error)
Failed to parse a push as a public key
Could not satisfy a script (fragment) because of a missing hash preimage
MissingSig(PublicKey)
Could not satisfy a script (fragment) because of a missing signature
RelativeLocktimeNotMet(u32)
Could not satisfy, relative locktime not met
AbsoluteLocktimeNotMet(u32)
Could not satisfy, absolute locktime not met
General failure to satisfy
TypeCheck(String)
Typechecking failed
BadDescriptor(String)
General error in creating descriptor
Forward-secp related errors
PolicyError(PolicyError)
Errors related to policy
LiftError(LiftError)
Errors related to lifting
Forward script context related errors
Recursion depth exceeded when parsing policy/miniscript from string
Script size too large
Anything but c:pk(key) (P2PK), c:pk_h(key) (P2PKH), and thresh_m(k,…) up to n=3 is invalid by standardness (bare)
AnalysisError(AnalysisError)
Analysis Error
Miniscript is equivalent to false. No possible satisfaction
Bare descriptors don’t have any addresses
BtcError(Error)
Upstream Miniscript Errors
CovError(CovError)
Covenant Error
Trait Implementations
replaced by Error::source, which can support downcasting
The lower-level source of this error, if any. Read more
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
use the Display impl or to_string()