coconut_crypto/proof/messages_pok/
error.rs

1use super::super::MessageUnpackingError;
2use alloc::string::String;
3
4// TODO replace by `SchnorrError` when it will derive `Eq`, `PartialEq`, `Clone`
5type SchnorrError = String;
6
7/// An error originated from `MessagesPoK`.
8#[derive(Clone, Debug, PartialEq, Eq)]
9pub enum MessagesPoKError {
10    MessageInputError(MessageUnpackingError),
11    RevealedIndicesMustBeUniqueAndSorted {
12        previous: usize,
13        current: usize,
14    },
15    IncompatibleComJAndMessages {
16        com_j_len: usize,
17        messages_len: usize,
18    },
19    SchnorrResponsesNotEqual(usize),
20    SchnorrResponsesHaveDifferentLength,
21    ComProofGenerationFailed(SchnorrError),
22    ComJProofGenerationFailed {
23        error: SchnorrError,
24        index: usize,
25    },
26    InvalidComProof(SchnorrError),
27    InvalidComJProof {
28        error: SchnorrError,
29        index: usize,
30    },
31}
32
33impl From<MessageUnpackingError> for MessagesPoKError {
34    fn from(err: MessageUnpackingError) -> Self {
35        Self::MessageInputError(err)
36    }
37}