Skip to main content

thruput_node_rpc/
impls.rs

1use crate::DbTip;
2use crate::SchedulerGetTipOutcome;
3use crate::SchedulerGetTipResult;
4use crate::SchedulerProposalOutcome;
5use crate::SchedulerProposalResult;
6use crate::SchedulerProposedBlock;
7
8impl From<SchedulerProposalResult>
9    for Result<SchedulerProposedBlock, SchedulerProposalOutcome>
10{
11    fn from(
12        value: SchedulerProposalResult,
13    ) -> Result<SchedulerProposedBlock, SchedulerProposalOutcome> {
14        match value {
15            SchedulerProposalResult::SchedulerProposalOK {
16                proposed_block,
17            } => Ok(proposed_block),
18            SchedulerProposalResult::SchedulerProposalError => {
19                Err(SchedulerProposalOutcome::SchedulerProposalError)
20            }
21        }
22    }
23}
24
25impl From<SchedulerGetTipResult> for Result<DbTip, SchedulerGetTipOutcome> {
26    fn from(
27        value: SchedulerGetTipResult,
28    ) -> Result<DbTip, SchedulerGetTipOutcome> {
29        match value {
30            SchedulerGetTipResult::SchedulerGetTipOK { db_tip } => Ok(db_tip),
31            SchedulerGetTipResult::SchedulerGetTipNoGenesisBlock => {
32                Err(SchedulerGetTipOutcome::SchedulerGetTipNoGenesisBlock)
33            }
34        }
35    }
36}