lambdaworks_crypto/
errors.rs

1use std::io;
2
3use lambdaworks_math::errors::DeserializationError;
4
5#[derive(Debug)]
6pub enum SrsFromFileError {
7    FileError(io::Error),
8    DeserializationError(lambdaworks_math::errors::DeserializationError),
9}
10
11impl From<lambdaworks_math::errors::DeserializationError> for SrsFromFileError {
12    fn from(err: DeserializationError) -> SrsFromFileError {
13        match err {
14            DeserializationError::InvalidAmountOfBytes => {
15                SrsFromFileError::DeserializationError(DeserializationError::InvalidAmountOfBytes)
16            }
17
18            DeserializationError::FieldFromBytesError => {
19                SrsFromFileError::DeserializationError(DeserializationError::FieldFromBytesError)
20            }
21
22            DeserializationError::PointerSizeError => {
23                SrsFromFileError::DeserializationError(DeserializationError::PointerSizeError)
24            }
25
26            DeserializationError::InvalidValue => {
27                SrsFromFileError::DeserializationError(DeserializationError::InvalidValue)
28            }
29        }
30    }
31}
32
33impl From<std::io::Error> for SrsFromFileError {
34    fn from(err: std::io::Error) -> SrsFromFileError {
35        SrsFromFileError::FileError(err)
36    }
37}