pub enum ProgramError {
Compilation(String),
WitnessSatisfaction(String),
Pruning(ExecutionError),
BitMachineCreation(LimitError),
Execution(ExecutionError),
UtxoIndexOutOfBounds {
input_index: usize,
utxo_count: usize,
},
ScriptPubkeyMismatch {
expected_hash: String,
actual_hash: String,
},
TxExtraction(Error),
InputIndexOverflow(TryFromIntError),
ProgramGenAbiMeta(String),
}Expand description
Errors that can occur when compiling, preparing, and executing Simplicity programs.
Variants§
Compilation(String)
Error thrown when compiling the raw Simplicity program source fails.
WitnessSatisfaction(String)
Error indicating failure while matching or satisfying witness values to the program requirements.
Pruning(ExecutionError)
Error indicating pruning the node tree during execution failed safely.
BitMachineCreation(LimitError)
Error thrown when the bit machine cannot be initialized due to complexity or limit restrictions.
Execution(ExecutionError)
Error thrown during bit machine execution due to underlying logical or environment validation errors.
UtxoIndexOutOfBounds
Error indicating an input index points past the bounds of available inputs/UTXOs.
Fields
ScriptPubkeyMismatch
Error indicating the script pubkey present on the targeted UTXO differs from the expectation.
Fields
TxExtraction(Error)
Error thrown when an underlying Elements transaction fails to extract from the PSET wrapper.
InputIndexOverflow(TryFromIntError)
Error indicating an array size overflow if the target index exceeds limits.
ProgramGenAbiMeta(String)
Error thrown if the compiled program fails to export or generate valid ABI metadata.
Trait Implementations§
Source§impl Debug for ProgramError
impl Debug for ProgramError
Source§impl Display for ProgramError
impl Display for ProgramError
Source§impl Error for ProgramError
impl Error for ProgramError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Error> for ProgramError
impl From<Error> for ProgramError
Source§fn from(source: Error) -> ProgramError
fn from(source: Error) -> ProgramError
Source§impl From<ExecutionError> for ProgramError
impl From<ExecutionError> for ProgramError
Source§fn from(source: ExecutionError) -> ProgramError
fn from(source: ExecutionError) -> ProgramError
Source§impl From<LimitError> for ProgramError
impl From<LimitError> for ProgramError
Source§fn from(source: LimitError) -> ProgramError
fn from(source: LimitError) -> ProgramError
Source§impl From<ProgramError> for SignerError
impl From<ProgramError> for SignerError
Source§fn from(source: ProgramError) -> SignerError
fn from(source: ProgramError) -> SignerError
Source§impl From<TryFromIntError> for ProgramError
impl From<TryFromIntError> for ProgramError
Source§fn from(source: TryFromIntError) -> ProgramError
fn from(source: TryFromIntError) -> ProgramError
Auto Trait Implementations§
impl Freeze for ProgramError
impl RefUnwindSafe for ProgramError
impl Send for ProgramError
impl Sync for ProgramError
impl Unpin for ProgramError
impl UnsafeUnpin for ProgramError
impl UnwindSafe for ProgramError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more