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("packet acknowledgement could not be verified")]
21    InvalidAcknowledgement,
22
23    #[error("invalid winning probability value")]
24    InvalidWinningProbability,
25
26    #[error("cannot acknowledge self-signed tickets. Ticket sender and recipient must be different")]
27    LoopbackTicket,
28
29    #[error(transparent)]
30    InvalidMultiaddr(#[from] MultiaddrError),
31
32    #[error(transparent)]
33    CryptoError(#[from] CryptoError),
34
35    #[error(transparent)]
36    GeneralError(#[from] hopr_primitive_types::errors::GeneralError),
37}
38
39pub type Result<T> = core::result::Result<T, CoreTypesError>;