hopr_internal_types/
errors.rs

1use hopr_crypto_types::errors::CryptoError;
2use multiaddr::Error as MultiaddrError;
3use thiserror::Error;
4
5/// Enumeration of all core type related errors.
6#[derive(Error, Debug)]
7pub enum CoreTypesError {
8    #[error("{0}")]
9    InvalidInputData(String),
10
11    #[error("failed to parse/deserialize the data of {0}")]
12    ParseError(String),
13
14    #[error("Arithmetic error: {0}")]
15    ArithmeticError(String),
16
17    #[error("Invalid ticket signature or wrong ticket recipient")]
18    InvalidTicketRecipient,
19
20    #[error("Cannot acknowledge self-signed tickets. Ticket sender and recipient must be different")]
21    LoopbackTicket,
22
23    #[error("size of the packet payload has been exceeded")]
24    PayloadSizeExceeded,
25
26    #[error(transparent)]
27    InvalidMultiaddr(#[from] MultiaddrError),
28
29    #[error(transparent)]
30    CryptoError(#[from] CryptoError),
31
32    #[error(transparent)]
33    GeneralError(#[from] hopr_primitive_types::errors::GeneralError),
34}
35
36pub type Result<T> = core::result::Result<T, CoreTypesError>;