1use serde::{Deserialize, Serialize};
2
3use crate::block::{Block, Height};
4use crate::epoch::EpochNumber;
5use crate::view::ViewNumber;
6
7pub const MAX_SYNC_BATCH: u64 = 100;
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
12pub enum SyncRequest {
13 GetBlocks {
15 from_height: Height,
16 to_height: Height,
17 },
18 GetStatus,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
24pub enum SyncResponse {
25 Blocks(Vec<Block>),
27 Status {
29 last_committed_height: Height,
30 current_view: ViewNumber,
31 epoch: EpochNumber,
32 },
33 Error(String),
35}