Skip to main content

SignerError

Enum SignerError 

Source
pub enum SignerError {
    Lwk(String),
    LwkDetailed {
        operation: String,
        context: String,
        error_message: String,
    },
    InvalidMnemonic(String),
    HexParse(FromHexError),
    HexParseDetailed {
        parsing_context: String,
        hex_preview: String,
        hex_error: String,
    },
    InvalidTransaction(String),
    InvalidTransactionDetailed {
        txid: String,
        validation_details: String,
        error_message: String,
    },
    Network(Error),
    Serialization(Error),
    SerializationDetailed {
        operation: String,
        data_type: String,
        context: String,
        serde_error: String,
    },
    FileIo(Error),
}
Expand description

Comprehensive error types for signer operations

This enum covers all possible error scenarios that can occur during transaction signing operations, providing detailed context for debugging and proper error handling in client applications.

Variants§

§

Lwk(String)

LWK-specific errors from the Liquid Wallet Kit

This variant captures errors from LWK operations including:

  • SwSigner creation failures
  • Transaction signing failures
  • PSET (Partially Signed Element Transaction) operations
  • Key derivation and cryptographic operations
§

LwkDetailed

Fields

§operation: String

The LWK operation that failed (e.g., “sign_transaction”, “create_signer”)

§context: String

Additional context about the operation

§error_message: String

The error message from LWK

§

InvalidMnemonic(String)

Invalid mnemonic phrase errors

This variant captures mnemonic-related errors including:

  • Invalid word count (not 12, 15, 18, 21, or 24 words)
  • Invalid characters or formatting
  • BIP39 checksum validation failures
  • Empty or malformed mnemonic phrases
§

HexParse(FromHexError)

Hex string parsing and decoding errors

This variant captures errors when parsing hex-encoded data including:

  • Invalid hex characters
  • Odd-length hex strings
  • Empty hex strings
  • Malformed transaction hex data
§

HexParseDetailed

Fields

§parsing_context: String

Context about what was being parsed

§hex_preview: String

Preview of the hex string that failed to parse

§hex_error: String

The original hex parsing error

§

InvalidTransaction(String)

Invalid transaction structure or content errors

This variant captures transaction validation errors including:

  • Malformed transaction structure
  • Missing inputs or outputs
  • Invalid transaction serialization
  • PSET conversion failures
  • Transaction size or format issues
§

InvalidTransactionDetailed

Fields

§txid: String

The transaction ID if available

§validation_details: String

Specific validation failure details

§error_message: String

The error message

§

Network(Error)

Network-related communication errors

This variant captures network errors that may occur during remote operations or API calls (reserved for future use).

§

Serialization(Error)

JSON serialization and deserialization errors

This variant captures JSON processing errors including:

  • Mnemonic file parsing failures
  • Invalid JSON structure in storage files
  • Serialization failures when writing storage
§

SerializationDetailed

Fields

§operation: String

The serialization operation (serialize/deserialize)

§data_type: String

The data type being processed

§context: String

Additional context about the operation

§serde_error: String

The original serde error message

§

FileIo(Error)

File system I/O operation errors

This variant captures file operation errors including:

  • Mnemonic file read/write failures
  • Permission denied errors
  • Disk space or filesystem issues
  • Atomic write operation failures

Trait Implementations§

Source§

impl Debug for SignerError

Source§

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

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

impl Display for SignerError

Source§

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

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

impl Error for SignerError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for SignerError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for SignerError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for SignerError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for SignerError

Convert BIP39 mnemonic errors to SignerError

This conversion handles all BIP39-related errors including:

  • Invalid word count
  • Invalid words not in BIP39 wordlist
  • Checksum validation failures
  • Language detection issues
Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for SignerError

Convert Elements transaction encoding errors to SignerError

This conversion handles transaction serialization/deserialization errors from the Elements library including:

  • Consensus encoding failures
  • Invalid transaction structure
  • Serialization format errors
Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<FromHexError> for SignerError

Source§

fn from(source: FromHexError) -> Self

Converts to this type from the input type.
Source§

impl From<SignerError> for AmpError

Source§

fn from(source: SignerError) -> Self

Converts to this type from the input type.

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> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> ToStringFallible for T
where T: Display,

Source§

fn try_to_string(&self) -> Result<String, TryReserveError>

ToString::to_string, but without panic on OOM.

Source§

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

Source§

type Error = !

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more