[][src]Enum miniscript::Error

pub enum Error {
    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,
}

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

InvalidPush(Vec<u8>)

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

UnexpectedStart

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

NonCanonicalTrue

Fragment was an and_v(_, true) which should be written as t:

NonCanonicalFalse

Fragment was an or_i(_, false) or or_i(false,_) which should be written as u: or l:

LikelyFalse

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

MissingHash(Hash)

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

CouldNotSatisfy

General failure to satisfy

TypeCheck(String)

Typechecking failed

BadDescriptor(String)

General error in creating descriptor

Secp(Error)

Forward-secp related errors

PolicyError(PolicyError)

Errors related to policy

LiftError(LiftError)

Errors related to lifting

ContextError(ScriptContextError)

Forward script context related errors

MaxRecursiveDepthExceeded

Recursion depth exceeded when parsing policy/miniscript from string

ScriptSizeTooLarge

Script size too large

NonStandardBareScript

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

ImpossibleSatisfaction

Miniscript is equivalent to false. No possible satisfaction

BareDescriptorAddr

Bare descriptors don't have any addresses

Trait Implementations

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.