Enum bitcoin::blockdata::script::Error
[−]
[src]
pub enum Error {
AnalyzeNeitherBoolWorks,
AnalyzeSetBoolMismatch(bool),
AnalyzeValidateFailed,
BadPublicKey,
BadSignature,
Ecdsa(Error),
ElseWithoutIf,
EndifWithoutIf,
EqualVerifyFailed(String, String),
IfEmptyStack,
IllegalOpcode,
InterpreterStackOverflow,
EarlyEndOfScript,
ExecutedReturn,
MultisigBadKeyCount(isize),
MultisigBadSigCount(isize),
NegativePick,
NegativeRoll,
NoTransaction,
NumEqualVerifyFailed(i64, i64),
NumericOverflow,
PopEmptyStack,
Unanalyzable,
Unsatisfiable,
VerifyEmptyStack,
VerifyFailed,
}Ways that a script might fail. Not everything is split up as much as it could be; patches welcome if more detailed errors would help you.
Variants
AnalyzeNeitherBoolWorksTried to set a boolean to both values, but neither worked
AnalyzeSetBoolMismatch(bool)Tried to set a boolean to the given value, but it already had the other value
AnalyzeValidateFailedValidation of an element failed
BadPublicKeyOP_CHECKSIG was called with a bad public key
BadSignatureOP_CHECKSIG was called with a bad signature
Ecdsa(Error)An ECDSA error
ElseWithoutIfAn OP_ELSE happened while not in an OP_IF tree
EndifWithoutIfAn OP_ENDIF happened while not in an OP_IF tree
EqualVerifyFailed(String, String)An OP_EQUALVERIFY failed (expected, gotten)
IfEmptyStackAn OP_IF happened with an empty stack
IllegalOpcodeAn illegal opcode appeared in the script (does not need to be executed)
InterpreterStackOverflowThe interpreter overflowed its stack. This never happens for script evaluation, only non-consensus analysis passes.
EarlyEndOfScriptSome opcode expected a parameter, but it was missing or truncated
ExecutedReturnAn OP_RETURN or synonym was executed
MultisigBadKeyCount(isize)A multisig tx with negative or too many keys
MultisigBadSigCount(isize)A multisig tx with negative or too many signatures
NegativePickUsed OP_PICK with a negative index
NegativeRollUsed OP_ROLL with a negative index
NoTransactionTried to execute a signature operation but no transaction context was provided
NumEqualVerifyFailed(i64, i64)An OP_NUMEQUALVERIFY failed (expected, gotten)
NumericOverflowTried to read an array off the stack as a number when it was more than 4 bytes
PopEmptyStackSome stack operation was done with an empty stack
UnanalyzableAnalysis was unable to determine script input
UnsatisfiableAnalysis showed script cannot be satisfied
VerifyEmptyStackAn OP_VERIFY happened with an empty stack
VerifyFailedAn OP_VERIFY happened with zero on the stack
Trait Implementations
impl Clone for Error[src]
fn clone(&self) -> Error
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl Debug for Error[src]
impl Eq for Error[src]
impl PartialEq for Error[src]
fn eq(&self, __arg_0: &Error) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Error) -> bool
This method tests for !=.
impl Display for Error[src]
impl Error for Error[src]
fn cause(&self) -> Option<&Error>
The lower-level cause of this error, if any. Read more
fn description(&self) -> &'static str
A short description of the error. Read more
impl Serialize for Error[src]
fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error> where S: Serializer
Serializes this value into this serializer.