1use thiserror::Error;
2
3#[derive(Error, Debug)]
5pub enum Error {
6 #[error("fmt error: {0}")]
8 Fmt(#[from] std::fmt::Error),
9 #[error("io error: {0}")]
11 Io(#[from] std::io::Error),
12 #[error("vsss error: {0}")]
14 Vsss(vsss_rs::Error),
15 #[error("Postcard error: {0}")]
17 Postcard(#[from] postcard::Error),
18 #[error("invalid protocol message: {0}")]
20 InvalidMessage(String),
21 #[error("error during participant initialization: {0}")]
23 Initialization(String),
24 #[error("round error: {0}")]
26 Round(String),
27 #[error("publicly verifiable secret sharing error: {0}")]
29 Pvss(String),
30}
31
32impl From<vsss_rs::Error> for Error {
33 fn from(e: vsss_rs::Error) -> Self {
34 Error::Vsss(e)
35 }
36}
37
38pub type DkgResult<T> = Result<T, Error>;