1use serde::{Deserialize, Serialize};
4use thiserror::Error;
5
6#[derive(Debug, Error, Serialize, Deserialize, Clone)]
8pub enum Error {
9 #[error("failed to extract Ed25519 secret key: {0}")]
11 KeyExtraction(String),
12
13 #[error("failed to build Noise transport: {0}")]
15 NoiseBuild(String),
16
17 #[error("failed to build DNS transport: {0}")]
19 DnsBuild(String),
20
21 #[error("invalid multiaddress: {0}")]
23 InvalidAddress(String),
24
25 #[error("failed to listen on address: {0}")]
27 Listen(String),
28
29 #[error("failed to send response on request-response channel")]
31 ResponseSend,
32
33 #[error("network message too large: {size} bytes (max {max})")]
35 MessageTooLarge {
36 size: usize,
38 max: usize,
40 },
41
42 #[error("cannot connect to the ave network: no reachable bootstrap node")]
44 NoBootstrapNode,
45
46 #[error("network task cancelled")]
48 Cancelled,
49
50 #[error("failed to send command to network worker: {0}")]
52 CommandSend(String),
53}