use crate::sdkg::Error as DkgError;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("Dkg Error")]
Sdkg(#[from] DkgError),
#[error("Failed to encode with bincode")]
Encoding(#[from] bincode::Error),
#[error("Failed to initialize DkgState: secret key is not in provided pub key set")]
NotInPubKeySet,
#[error("Invalid signature")]
InvalidSignature,
#[error("Unknown sender")]
UnknownSender,
#[error("Faulty vote {0}")]
FaultyVote(String),
#[error("Unexpectedly failed to generate secret key share")]
FailedToGenerateSecretKeyShare,
#[error("Failed force generation of keyshare: missing acks")]
FailedForceGenerationBecauseMissingAcks,
}
pub type Result<T> = std::result::Result<T, Error>;