zakura_network/zakura/block_sync/
error.rs1use super::*;
2
3#[derive(Debug, Error)]
5pub enum BlockSyncWireError {
6 #[error("Zakura block-sync payload length {actual} exceeds cap {max}")]
8 OversizedPayload {
9 actual: usize,
11 max: usize,
13 },
14
15 #[error("Zakura block-sync block count {actual} exceeds cap {max}")]
17 BlockCountLimit {
18 actual: u32,
20 max: u32,
22 },
23
24 #[error("Zakura block-sync count must be non-zero")]
26 ZeroBlockCount,
27
28 #[error("Zakura block-sync block length {actual} exceeds consensus cap {max}")]
30 OversizedBlock {
31 actual: usize,
33 max: usize,
35 },
36
37 #[error("Zakura block-sync height {0} exceeds supported range")]
39 HeightOutOfRange(u32),
40
41 #[error("unknown Zakura block-sync message type {0}")]
43 UnknownMessageType(u8),
44
45 #[error("unknown Zakura block-sync frame message type {0}")]
47 UnknownFrameMessageType(u16),
48
49 #[error("unsupported Zakura block-sync frame flags {0}")]
51 UnsupportedFlags(u16),
52
53 #[error("Zakura block-sync frame type {frame} disagrees with payload type {payload}")]
55 MismatchedFrameMessageType {
56 frame: u16,
58 payload: u8,
60 },
61
62 #[error("trailing bytes in Zakura block-sync payload")]
64 TrailingBytes,
65
66 #[error("numeric overflow while encoding Zakura block-sync {0}")]
68 NumericOverflow(&'static str),
69
70 #[error("Zakura block-sync wire I/O error: {0}")]
72 Io(#[from] io::Error),
73
74 #[error("Zakura block-sync Zcash serialization error: {0}")]
76 Serialization(#[from] SerializationError),
77}