Skip to content

Commit fe2971b

Browse files
authored
Merge pull request #106 from Ximik/network-mapping
Fix Network -> ExtendedNetwork mapping
2 parents f243ad0 + a4ed303 commit fe2971b

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

client/src/config.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,17 @@ impl ExtendedNetwork {
106106
ExtendedNetwork::Testnet4 => Network::Testnet,
107107
}
108108
}
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+
}
109120
}
110121

111122
impl Args {

client/src/rpc.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ pub(crate) type Responder<T> = oneshot::Sender<T>;
6969

7070
#[derive(Debug, Clone, Serialize, Deserialize)]
7171
pub struct ServerInfo {
72-
pub network: String,
72+
pub network: ExtendedNetwork,
7373
pub tip: ChainAnchor,
7474
pub chain: ChainInfo,
7575
pub ready: bool,
@@ -1632,16 +1632,18 @@ async fn get_server_info(
16321632
.await
16331633
.map_err(|e| anyhow!("Could not retrieve blockchain info ({})", e))?;
16341634

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,
16411643
};
16421644

16431645
Ok(ServerInfo {
1644-
network: info.chain,
1646+
network,
16451647
tip,
16461648
chain: ChainInfo {
16471649
blocks: info.blocks,

0 commit comments

Comments
 (0)