use std::{error::Error, fmt::Display};
use quinn::{ConnectError, ConnectionError};
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum MpcError {
NetworkError(MpcNetworkError),
AuthenticationError,
VisibilityError(String),
ArithmeticError(String),
}
impl Display for MpcError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{:?}", self)
}
}
impl Error for MpcError {}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum MpcNetworkError {
SendError(String),
RecvError(String),
ConnectionSetupError(SetupError),
ConnectionTeardownError,
NetworkUninitialized,
SerializationError(String),
}
impl Display for MpcNetworkError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{:?}", self)
}
}
impl Error for MpcNetworkError {}
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum SetupError {
ConnectError(ConnectError),
ConnectionError(ConnectionError),
KeygenError,
NoIncomingConnection,
ServerSetupError,
}