radix_transactions/model/hash/
error.rs

1use sbor::prelude::fmt;
2
3#[derive(Clone, Debug)]
4pub enum TransactionHashBech32EncodeError {
5    FormatError(fmt::Error),
6    Bech32mEncodingError(bech32::Error),
7}
8
9impl From<fmt::Error> for TransactionHashBech32EncodeError {
10    fn from(value: fmt::Error) -> Self {
11        Self::FormatError(value)
12    }
13}
14
15impl From<bech32::Error> for TransactionHashBech32EncodeError {
16    fn from(value: bech32::Error) -> Self {
17        Self::Bech32mEncodingError(value)
18    }
19}
20
21#[derive(Debug, Clone, PartialEq, Eq)]
22pub enum TransactionHashBech32DecodeError {
23    MissingEntityTypeByte,
24    Bech32mDecodingError(bech32::Error),
25    InvalidVariant(bech32::Variant),
26    InvalidHrp,
27    InvalidLength,
28}
29
30#[cfg(not(feature = "alloc"))]
31impl std::error::Error for TransactionHashBech32EncodeError {}
32
33impl fmt::Display for TransactionHashBech32EncodeError {
34    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
35        write!(f, "{:?}", self)
36    }
37}