fedimint_hbbft/subset/
error.rs1use thiserror::Error;
2
3use std::result;
4
5use crate::binary_agreement;
6use crate::broadcast;
7
8#[derive(Clone, PartialEq, Eq, Debug, Error)]
10pub enum Error {
11 #[error("Error creating BinaryAgreement: {0}")]
13 NewAgreement(binary_agreement::Error),
14 #[error("Error creating Broadcast: {0}")]
16 NewBroadcast(broadcast::Error),
17 #[error("Error handling Broadcast input/message: {0}")]
19 HandleBroadcast(broadcast::Error),
20 #[error("Error handling BinaryAgreement input/message: {0}")]
22 HandleAgreement(binary_agreement::Error),
23 #[error("Unknown proposer ID")]
25 UnknownProposer,
26}
27
28pub type Result<T> = result::Result<T, Error>;
30
31#[derive(Clone, Debug, Error, PartialEq, Eq)]
33pub enum FaultKind {
34 #[error("`Subset` received a faulty Broadcast message.")]
36 BroadcastFault(broadcast::FaultKind),
37 #[error("`Subset` received a faulty Binary Agreement message.")]
39 BaFault(binary_agreement::FaultKind),
40}