fedimint_testing_core/
node_type.rs1use std::fmt::{self};
2use std::str::FromStr;
3
4#[derive(Debug, Clone, Eq, PartialEq, Ord, PartialOrd)]
5pub enum LightningNodeType {
6 Lnd,
7 Ldk,
8}
9
10impl fmt::Display for LightningNodeType {
11 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
12 match self {
13 LightningNodeType::Lnd => write!(f, "lnd"),
14 LightningNodeType::Ldk => write!(f, "ldk"),
15 }
16 }
17}
18
19impl FromStr for LightningNodeType {
20 type Err = String;
21
22 fn from_str(s: &str) -> Result<Self, Self::Err> {
23 match s.to_lowercase().as_str() {
24 "lnd" => Ok(LightningNodeType::Lnd),
25 "ldk" => Ok(LightningNodeType::Ldk),
26 _ => Err(format!("Invalid value for LightningNodeType: {s}")),
27 }
28 }
29}