Skip to main content

ScriptError

Enum ScriptError 

Source
pub enum ScriptError {
Show 39 variants Ok, Unknown, EvalFalse, OpReturn, ScriptSize, PushSize, OpCount, StackSize, SigCount, PubkeyCount, Verify, EqualVerify, CheckSigVerify, CheckMultiSigVerify, NumEqualVerify, BadOpcode, OpCodeSeparator, DisabledOpcode, InvalidStackOperation, InvalidAltstackOperation, UnbalancedConditional, NegativeLockTime, UnsatisfiedLockTime, SigHashType, MinimalData, SigPushOnly, SigNullDummy, CleanStack, MinimalIf, NullFail, DiscourageUpgradableNops, DiscourageUpgradableWitnessProgram, WitnessProgramWrongLength, WitnessProgramWitnessEmpty, WitnessProgramMismatch, WitnessMalleated, WitnessMalleatedP2SH, WitnessUnexpected, SigFindAndDelete,
}
Expand description

Script validation errors produced by the Tidecoin validation engine.

Variants§

§

Ok

Default value used before script execution sets a more specific error.

§

Unknown

Generic script failure when no more specific code is available.

§

EvalFalse

Script evaluation left a false top stack item.

§

OpReturn

OP_RETURN aborted script execution.

§

ScriptSize

Script exceeded the maximum allowed byte size.

§

PushSize

A pushed element exceeded the maximum allowed byte size.

§

OpCount

Script exceeded the maximum allowed opcode count.

§

StackSize

Script exceeded the maximum allowed stack size.

§

SigCount

Multisig signature count was invalid.

§

PubkeyCount

Multisig public-key count was invalid.

§

Verify

OP_VERIFY failed.

§

EqualVerify

OP_EQUALVERIFY failed.

§

CheckSigVerify

OP_CHECKSIGVERIFY failed.

§

CheckMultiSigVerify

OP_CHECKMULTISIGVERIFY failed.

§

NumEqualVerify

OP_NUMEQUALVERIFY failed.

§

BadOpcode

Script contained an invalid opcode.

§

OpCodeSeparator

OP_CODESEPARATOR was disallowed by the active flags.

§

DisabledOpcode

Script used a disabled opcode.

§

InvalidStackOperation

Script attempted an invalid main-stack operation.

§

InvalidAltstackOperation

Script attempted an invalid alt-stack operation.

§

UnbalancedConditional

Script conditionals were unbalanced.

§

NegativeLockTime

Locktime argument was negative.

§

UnsatisfiedLockTime

Locktime requirement was not satisfied.

§

SigHashType

Signature hash type was invalid for the current validation path.

§

MinimalData

Non-minimal pushdata encoding was used when forbidden.

§

SigPushOnly

scriptSig was not push-only when required.

§

SigNullDummy

Dummy stack argument for multisig was not null.

§

CleanStack

Cleanstack rule was violated.

§

MinimalIf

MINIMALIF rule was violated.

§

NullFail

NULLFAIL rule was violated.

§

DiscourageUpgradableNops

Upgradable NOPs were discouraged and encountered.

§

DiscourageUpgradableWitnessProgram

Upgradable witness programs were discouraged and encountered.

§

WitnessProgramWrongLength

Witness program length did not match the expected form.

§

WitnessProgramWitnessEmpty

Witness program required witness items but found none.

§

WitnessProgramMismatch

Witness program did not match the executed witness script.

§

WitnessMalleated

Native witness spend was malleated.

§

WitnessMalleatedP2SH

P2SH-wrapped witness spend was malleated.

§

WitnessUnexpected

Unexpected witness data was present.

§

SigFindAndDelete

Signature find-and-delete was disallowed by the active flags.

Trait Implementations§

Source§

impl Clone for ScriptError

Source§

fn clone(&self) -> ScriptError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ScriptError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ScriptError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<ScriptError> for TidecoinValidationError

Source§

fn from(value: ScriptError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ScriptError

Source§

fn eq(&self, other: &ScriptError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ScriptError

Source§

impl Eq for ScriptError

Source§

impl StructuralPartialEq for ScriptError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.