File tree Expand file tree Collapse file tree 2 files changed +21
-8
lines changed Expand file tree Collapse file tree 2 files changed +21
-8
lines changed Original file line number Diff line number Diff line change @@ -106,6 +106,17 @@ impl ExtendedNetwork {
106
106
ExtendedNetwork :: Testnet4 => Network :: Testnet ,
107
107
}
108
108
}
109
+
110
+ pub fn from_core_arg ( arg : & str ) -> Result < Self , ( ) > {
111
+ match arg. to_lowercase ( ) . as_str ( ) {
112
+ "main" => Ok ( ExtendedNetwork :: Mainnet ) ,
113
+ "test" => Ok ( ExtendedNetwork :: Testnet ) ,
114
+ "testnet4" => Ok ( ExtendedNetwork :: Testnet4 ) ,
115
+ "signet" => Ok ( ExtendedNetwork :: Signet ) ,
116
+ "regtest" => Ok ( ExtendedNetwork :: Regtest ) ,
117
+ _ => Err ( ( ) ) ,
118
+ }
119
+ }
109
120
}
110
121
111
122
impl Args {
Original file line number Diff line number Diff line change @@ -69,7 +69,7 @@ pub(crate) type Responder<T> = oneshot::Sender<T>;
69
69
70
70
#[ derive( Debug , Clone , Serialize , Deserialize ) ]
71
71
pub struct ServerInfo {
72
- pub network : String ,
72
+ pub network : ExtendedNetwork ,
73
73
pub tip : ChainAnchor ,
74
74
pub chain : ChainInfo ,
75
75
pub ready : bool ,
@@ -1632,16 +1632,18 @@ async fn get_server_info(
1632
1632
. await
1633
1633
. map_err ( |e| anyhow ! ( "Could not retrieve blockchain info ({})" , e) ) ?;
1634
1634
1635
- let start_block = if info. chain == "main" {
1636
- 871_222
1637
- } else if info. chain . starts_with ( "test" ) {
1638
- 50_000
1639
- } else {
1640
- 0
1635
+ let network = info. chain ;
1636
+ let network = ExtendedNetwork :: from_core_arg ( & network)
1637
+ . map_err ( |_| anyhow ! ( "Unknown network ({})" , & network) ) ?;
1638
+
1639
+ let start_block = match network {
1640
+ ExtendedNetwork :: Mainnet => 871_222 ,
1641
+ ExtendedNetwork :: Testnet | ExtendedNetwork :: Testnet4 => 50_000 ,
1642
+ _ => 0 ,
1641
1643
} ;
1642
1644
1643
1645
Ok ( ServerInfo {
1644
- network : info . chain ,
1646
+ network,
1645
1647
tip,
1646
1648
chain : ChainInfo {
1647
1649
blocks : info. blocks ,
You can’t perform that action at this time.
0 commit comments