Enum miniscript::interpreter::Error [−][src]
pub enum Error {}Show 27 variants
AbsoluteLocktimeNotMet(u32), CouldNotEvaluate, ExpectedPush, HashPreimageLengthMismatch, IncorrectPubkeyHash, IncorrectScriptHash, IncorrectWPubkeyHash, IncorrectWScriptHash, InsufficientSignaturesMultiSig, InvalidSignature(PublicKey), NonStandardSigHash(Vec<u8>), Miniscript(Error), MissingExtraZeroMultiSig, MultiSigEvaluationError, NonEmptyWitness, NonEmptyScriptSig, PkEvaluationError(PublicKey), PkHashVerifyFail(Hash), PubkeyParseError, RelativeLocktimeNotMet(u32), Secp(Error), ScriptSatisfactionError, UncompressedPubkey, UnexpectedStackBoolean, UnexpectedStackEnd, UnexpectedStackElementPush, VerifyFailed,
Expand description
Detailed Error type for Interpreter
Variants
AbsoluteLocktimeNotMet(u32)
Could not satisfy, absolute locktime not met
General Interpreter error.
We expected a push (including a OP_1
but no other numeric pushes)
The preimage to the hash function must be exactly 32 bytes.
Incorrect scriptPubKey (pay-to-pubkeyhash) for the provided public key
Incorrect scriptPubKey for the provided redeem script
Incorrect scriptPubKey (pay-to-witness-pubkeyhash) for the provided public key
Incorrect scriptPubKey for the provided witness script
MultiSig missing at least 1
witness elements out of k + 1
required
InvalidSignature(PublicKey)
Signature failed to verify
Last byte of this signature isn’t a standard sighash type
Miniscript(Error)
Miniscript error
MultiSig requires 1 extra zero element apart from the k
signatures
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
Witness must be empty for pre-segwit transactions
ScriptSig must be empty for pure segwit transactions
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
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.
Parse Error while parsing a stack::Element::Push
as a Pubkey. Both
33 byte and 65 bytes are supported.
RelativeLocktimeNotMet(u32)
Could not satisfy, relative locktime not met
Forward-secp related errors
Miniscript requires the entire top level script to be satisfied.
An uncompressed public key was encountered in a context where it is disallowed (e.g. in a Segwit script or p2wpkh output)
Got stack::Element::Satisfied
or stack::Element::Dissatisfied
when the
interpreter was expecting stack::Element::Push
Unexpected Stack End, caused by popping extra elements from stack
Unexpected Stack Push stack::Element::Push
element when the interpreter
was expecting a stack boolean stack::Element::Satisfied
or
stack::Element::Dissatisfied
Verify expects stack top element exactly to be stack::Element::Satisfied
.
This error is raised even if the stack top is stack::Element::Push
.
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()