radix_transactions/model/hash/
error.rs1use 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}