Skip to main content

mpc_ristretto/
error.rs

1//! Errors defined across the MPC implementation
2use std::fmt::Display;
3
4use quinn::{ConnectError, ConnectionError};
5
6#[derive(Clone, Debug, PartialEq, Eq)]
7pub enum MpcError {
8    NetworkError(MpcNetworkError),
9    AuthenticationError,
10    VisibilityError(String),
11    ArithmeticError(String),
12}
13
14impl Display for MpcError {
15    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16        write!(f, "{:?}", self)
17    }
18}
19
20#[derive(Clone, Debug, PartialEq, Eq)]
21pub enum MpcNetworkError {
22    SendError,
23    RecvError,
24    ConnectionSetupError(SetupError),
25    ConnectionTeardownError,
26    NetworkUninitialized,
27    BroadcastError(BroadcastError),
28    SerializationError,
29}
30
31impl Display for MpcNetworkError {
32    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
33        write!(f, "{:?}", self)
34    }
35}
36
37#[derive(Clone, Debug, PartialEq, Eq)]
38pub enum SetupError {
39    ConnectError(ConnectError),
40    ConnectionError(ConnectionError),
41    KeygenError,
42    NoIncomingConnection,
43    ServerSetupError,
44}
45
46#[derive(Clone, Debug, PartialEq, Eq)]
47pub enum BroadcastError {
48    TooFewBytes,
49}