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
//! Home of error types returned by system contracts. use failure::Fail; pub mod mint; pub mod pos; /// An aggregate enum error with variants for each system contract's error. #[derive(Fail, Debug, Copy, Clone)] pub enum Error { /// Contains a [`mint::Error`]. #[fail(display = "Mint error: {}", _0)] Mint(mint::Error), /// Contains a [`pos::Error`]. #[fail(display = "Proof of Stake error: {}", _0)] Pos(pos::Error), } impl From<mint::Error> for Error { fn from(error: mint::Error) -> Error { Error::Mint(error) } } impl From<pos::Error> for Error { fn from(error: pos::Error) -> Error { Error::Pos(error) } }