sc_subspace_block_relay/
types.rs

1//! Common types.
2
3use sc_network::RequestFailure;
4
5#[derive(Debug, thiserror::Error)]
6pub(crate) enum RequestResponseErr {
7    #[error("RequestResponseErr::DecodeFailed: {response_len}/{err:?}")]
8    DecodeFailed {
9        response_len: usize,
10        err: parity_scale_codec::Error,
11    },
12
13    #[error("RequestResponseErr::RequestFailure {0:?}")]
14    RequestFailure(RequestFailure),
15
16    #[error("Network not initialized")]
17    NetworkUninitialized,
18
19    #[error("RequestResponseErr::Canceled")]
20    Canceled,
21}
22
23/// Relay error codes.
24#[derive(Debug, thiserror::Error, strum_macros::AsRefStr)]
25pub(crate) enum RelayError {
26    #[error("Block header: {0}")]
27    BlockHeader(String),
28
29    #[error("Block indexed body: {0}")]
30    BlockIndexedBody(String),
31
32    #[error("Block justifications: {0}")]
33    BlockJustifications(String),
34
35    #[error("Block hash: {0}")]
36    BlockHash(String),
37
38    #[error("Block body: {0}")]
39    BlockBody(String),
40
41    #[error("Block extrinsics not found: {0}")]
42    BlockExtrinsicsNotFound(String),
43
44    #[error("Unexpected number of resolved entries: {expected}, {actual}")]
45    ResolveMismatch { expected: usize, actual: usize },
46
47    #[error("Resolved entry not found: {0}")]
48    ResolvedNotFound(usize),
49
50    #[error("Request/response error: {0}")]
51    RequestResponse(#[from] RequestResponseErr),
52}