bee_inx/milestone/
info.rs1use bee_block as bee;
5use inx::proto;
6
7#[derive(Clone, Debug, PartialEq, Eq)]
9pub struct MilestoneInfo {
10 pub milestone_id: Option<bee::payload::milestone::MilestoneId>,
12 pub milestone_index: bee::payload::milestone::MilestoneIndex,
14 pub milestone_timestamp: u32,
16}
17
18impl TryFrom<proto::MilestoneInfo> for MilestoneInfo {
19 type Error = bee::InxError;
20
21 fn try_from(value: proto::MilestoneInfo) -> Result<Self, Self::Error> {
22 Ok(MilestoneInfo {
23 milestone_id: value.milestone_id.map(TryInto::try_into).transpose()?,
24 milestone_index: value.milestone_index.into(),
25 milestone_timestamp: value.milestone_timestamp,
26 })
27 }
28}
29
30impl From<MilestoneInfo> for proto::MilestoneInfo {
31 fn from(value: MilestoneInfo) -> Self {
32 Self {
33 milestone_id: value.milestone_id.map(Into::into),
34 milestone_index: value.milestone_index.0,
35 milestone_timestamp: value.milestone_timestamp,
36 }
37 }
38}