Zebra/zebra-chain/src/serialization/error.rs

24 lines
699 B
Rust

use std::io;
use thiserror::Error;
/// A serialization error.
// XXX refine error types -- better to use boxed errors?
#[derive(Error, Debug)]
pub enum SerializationError {
/// An io error that prevented deserialization
#[error("unable to deserialize type")]
Io(#[from] io::Error),
/// The data to be deserialized was malformed.
// XXX refine errors
#[error("parse error: {0}")]
Parse(&'static str),
/// An error caused when validating a zatoshi `Amount`
#[error("input couldn't be parsed as a zatoshi `Amount`")]
Amount {
/// The source error indicating how the num failed to validate
#[from]
source: crate::amount::Error,
},
}