1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use std::io;

/// Error.
#[derive(Debug)]
pub enum Error {
    StdIoError(io::Error),
    ProstEncodeError(prost::EncodeError),
    ProstDecodeError(prost::DecodeError),
    ServerNotBinding,
    ABCIFormatError,
    ABCIPacketError,
    StateError,
}

impl From<io::Error> for Error {
    fn from(e: io::Error) -> Self {
        Error::StdIoError(e)
    }
}

impl From<prost::EncodeError> for Error {
    fn from(e: prost::EncodeError) -> Self {
        Error::ProstEncodeError(e)
    }
}

impl From<prost::DecodeError> for Error {
    fn from(e: prost::DecodeError) -> Self {
        Error::ProstDecodeError(e)
    }
}

pub type Result<T> = std::result::Result<T, Error>;