[][src]Enum miniscript::descriptor::InterpreterError

pub enum InterpreterError {
    UnexpectedStackEnd,
    UnexpectedStackElementPush,
    VerifyFailed,
    InsufficientSignaturesMultiSig,
    MissingExtraZeroMultiSig,
    MultiSigEvaluationError,
    InvalidSignature(PublicKey),
    CouldNotEvaluate,
    PkEvaluationError(PublicKey),
    ScriptSatisfactionError,
    PkHashVerifyFail(Hash),
    PubkeyParseError,
    HashPreimageLengthMismatch,
    UnexpectedStackBoolean,
    RelativeLocktimeNotMet(u32),
    AbsoluteLocktimeNotMet(u32),
    Secp(Error),
}

Detailed Error type for Interpreter

Variants

UnexpectedStackEnd

Unexpected Stack End, caused by popping extra elements from stack

UnexpectedStackElementPush

Unexpected Stack Push StackElement::Push element when the interpreter was expecting a stack boolean StackElement::Satisfied or StackElement::Dissatisfied

VerifyFailed

Verify expects stack top element exactly to be StackElement::Satisfied. This error is raised even if the stack top is StackElement::Push.

InsufficientSignaturesMultiSig

MultiSig missing at least 1 witness elements out of k + 1 required

MissingExtraZeroMultiSig

MultiSig requires 1 extra zero element apart from the k signatures

MultiSigEvaluationError

Script abortion because of incorrect dissatisfaction for multisig. Any input witness apart from sat(0 sig ...) or nsat(0 0 ..) leads to this error. This is network standardness assumption and miniscript only supports standard scripts

InvalidSignature(PublicKey)

Signature failed to verify

CouldNotEvaluate

General Interpreter error.

PkEvaluationError(PublicKey)

Script abortion because of incorrect dissatisfaction for Checksig. Any input witness apart from sat(sig) or nsat(0) leads to this error. This is network standardness assumption and miniscript only supports standard scripts

ScriptSatisfactionError

Miniscript requires the entire top level script to be satisfied.

PkHashVerifyFail(Hash)

The Public Key hash check for the given pubkey. This occurs in PkH node when the given key does not match to Hash in script.

PubkeyParseError

Parse Error while parsing a StackElement::Push as a Pubkey. Both 33 byte and 65 bytes are supported.

HashPreimageLengthMismatch

The preimage to the hash function must be exactly 32 bytes.

UnexpectedStackBoolean

Got StackElement::Satisfied or StackElement::Dissatisfied when the interpreter was expecting StackElement::Push

RelativeLocktimeNotMet(u32)

Could not satisfy, relative locktime not met

AbsoluteLocktimeNotMet(u32)

Could not satisfy, absolute locktime not met

Secp(Error)

Forward-secp related errors

Trait Implementations

impl Eq for Error[src]

impl Clone for Error[src]

impl PartialEq<Error> for Error[src]

impl Copy for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Error for Error[src]

Auto Trait Implementations

impl Send for Error

impl Unpin for Error

impl Sync for Error

impl UnwindSafe for Error

impl RefUnwindSafe for Error

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

impl<T> From<T> for 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.

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

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

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