1use 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}