1use discv5::IpMode;
4
5#[derive(thiserror::Error, Debug)]
7pub enum Error {
8 #[error("failed adding node to discv5, {0}")]
10 AddNodeFailed(&'static str),
11 #[error("incompatible key type (not secp256k1)")]
13 IncompatibleKeyType,
14 #[error("network stack identifier is not configured")]
16 NetworkStackIdNotConfigured,
17 #[error("fork missing on enr, key missing")]
19 ForkMissing(&'static [u8]),
20 #[error("failed to decode fork id, 'eth': {0:?}")]
22 ForkIdDecodeError(#[from] alloy_rlp::Error),
23 #[error("discovery socket missing")]
25 UnreachableDiscovery,
26 #[error("RLPx TCP socket missing")]
28 UnreachableRlpx,
29 #[error("RLPx TCP socket is unsupported IP version, local ip mode: {0:?}")]
31 IpVersionMismatchRlpx(IpMode),
32 #[error("init failed, {0}")]
34 InitFailure(&'static str),
35 #[error("sigp/discv5 error, {0}")]
37 Discv5Error(discv5::Error),
38 #[error("misconfigured listen config, RLPx TCP address must also be supported by discv5")]
40 ListenConfigMisconfigured,
41}