Skip to main content

bsv_transaction/
error.rs

1/// Error types for transaction operations.
2#[derive(Debug, thiserror::Error)]
3pub enum TransactionError {
4    /// The transaction structure is invalid (e.g. missing inputs or outputs).
5    #[error("invalid transaction: {0}")]
6    InvalidTransaction(String),
7    /// An error occurred during input signing (e.g. missing source output).
8    #[error("signing error: {0}")]
9    SigningError(String),
10    /// An error occurred during binary/hex serialization or deserialization.
11    #[error("serialization error: {0}")]
12    SerializationError(String),
13    /// Fee calculation failed (e.g. insufficient funds or invalid fee rate).
14    #[error("fee calculation error: {0}")]
15    FeeError(String),
16    /// An underlying script error (forwarded from `bsv-script`).
17    #[error("script error: {0}")]
18    Script(#[from] bsv_script::ScriptError),
19    /// An underlying primitives error (forwarded from `bsv-primitives`).
20    #[error("primitives error: {0}")]
21    Primitives(#[from] bsv_primitives::PrimitivesError),
22}