1#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
6pub enum Error {
7 Aead(aead::Error),
9 MessageLength,
11 Decoding,
16 HintsLength,
20 #[cfg(any(feature = "dalek-ristretto255", feature = "dalek-x25519"))]
22 InvalidPoint,
23}
24
25impl std::fmt::Display for Error {
26 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
27 match self {
28 Error::Aead(error) => f.write_str(&format!("{error}")),
29 Error::MessageLength => f.write_str("ecdh_omr::Error::MessageLength"),
30 Error::Decoding => f.write_str("ecdh_omr::Error::Decoding"),
31 Error::HintsLength => f.write_str("ecdh_omr::Error::HintsLength"),
32 #[cfg(any(feature = "dalek-ristretto255", feature = "dalek-x25519"))]
33 Error::InvalidPoint => f.write_str("ecdh_omr::Error::InvalidPoint"),
34 }
35 }
36}
37
38impl std::error::Error for Error {}
39
40impl From<aead::Error> for Error {
41 fn from(error: aead::Error) -> Error {
42 Error::Aead(error)
43 }
44}
45
46pub(crate) type Result<T> = std::result::Result<T, Error>;