radix_common/address/
errors.rs

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