ckb_chain_spec/versionbits/
convert.rs1use crate::versionbits::{Deployment, DeploymentPos, ThresholdState};
2use ckb_jsonrpc_types::{
3 self, DeploymentInfo, DeploymentPos as JsonDeploymentPos, DeploymentState,
4};
5
6impl From<ThresholdState> for DeploymentState {
7 fn from(state: ThresholdState) -> Self {
8 match state {
9 ThresholdState::Defined => DeploymentState::Defined,
10 ThresholdState::Started => DeploymentState::Started,
11 ThresholdState::LockedIn => DeploymentState::LockedIn,
12 ThresholdState::Active => DeploymentState::Active,
13 ThresholdState::Failed => DeploymentState::Failed,
14 }
15 }
16}
17
18impl From<Deployment> for DeploymentInfo {
19 fn from(deployment: Deployment) -> Self {
20 DeploymentInfo {
21 bit: deployment.bit,
22 start: deployment.start.into(),
23 timeout: deployment.timeout.into(),
24 min_activation_epoch: deployment.min_activation_epoch.into(),
25 period: deployment.period.into(),
26 threshold: deployment.threshold.into(),
27 state: DeploymentState::Defined,
28 since: 0.into(),
29 }
30 }
31}
32
33impl From<Deployment> for ckb_jsonrpc_types::Deployment {
34 fn from(deployment: Deployment) -> Self {
35 ckb_jsonrpc_types::Deployment {
36 bit: deployment.bit,
37 start: deployment.start.into(),
38 timeout: deployment.timeout.into(),
39 min_activation_epoch: deployment.min_activation_epoch.into(),
40 period: deployment.period.into(),
41 threshold: deployment.threshold.into(),
42 }
43 }
44}
45
46impl From<DeploymentPos> for JsonDeploymentPos {
47 fn from(pos: DeploymentPos) -> Self {
48 match pos {
49 DeploymentPos::Testdummy => JsonDeploymentPos::Testdummy,
50 DeploymentPos::LightClient => JsonDeploymentPos::LightClient,
51 }
52 }
53}