light_prover_client/
errors.rs

1use light_hasher::HasherError;
2use solana_bn254::compression::AltBn128CompressionError;
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum ProverClientError {
7    #[error("RPC error")]
8    RpcError,
9
10    #[error("Error: {0}")]
11    GenericError(String),
12
13    #[error("Prover server error: {0}")]
14    ProverServerError(String),
15
16    #[error("Arkworks prover error: {0}")]
17    ArkworksProverError(String),
18
19    #[error("Arkworks serialization error: {0}")]
20    ArkworksSerializationError(String),
21
22    #[error("Cannot change endianness")]
23    ChangeEndiannessError,
24
25    #[error("Cannot parse inputs")]
26    InputsParsingError,
27
28    #[error("Wrong number of UTXO's")]
29    WrongNumberOfUtxos,
30
31    #[error("AltBn128Error error: {0}")]
32    AltBn128CompressionError(String),
33}
34
35impl From<AltBn128CompressionError> for ProverClientError {
36    fn from(error: AltBn128CompressionError) -> Self {
37        ProverClientError::AltBn128CompressionError(error.to_string())
38    }
39}
40
41impl From<HasherError> for ProverClientError {
42    fn from(error: HasherError) -> Self {
43        ProverClientError::GenericError(format!("Hasher error: {:?}", error))
44    }
45}