Refactors if-let & match statement into general match statement, removes constraint against including `testnet_parameters` field/section in the config when using `Mainnet` or `Regtest`

This commit is contained in:
Arya 2024-04-18 02:02:41 -04:00
parent 32d0758702
commit e816c6616c
1 changed files with 28 additions and 34 deletions

View File

@ -697,17 +697,17 @@ impl<'de> Deserialize<'de> for Config {
.is_some()
}
let network = if let Some(DTestnetParameters {
let network = match (network_kind, testnet_parameters) {
(NetworkKind::Mainnet, _) => Network::Mainnet,
(NetworkKind::Testnet, None) => Network::new_default_testnet(),
(NetworkKind::Regtest, _) => Network::new_regtest(regtest_activation_heights),
(
NetworkKind::Testnet,
Some(DTestnetParameters {
network_name,
activation_heights,
}) = testnet_parameters
{
if network_kind != NetworkKind::Testnet {
return Err(de::Error::custom(
"network must be 'Testnet' to use configured testnet parameters",
));
}
}),
) => {
let mut params_builder = testnet::Parameters::build();
if let Some(network_name) = network_name {
@ -729,12 +729,6 @@ impl<'de> Deserialize<'de> for Config {
}
params_builder.to_network()
} else {
// Convert to default `Network` for a `NetworkKind` if there are no testnet parameters.
match network_kind {
NetworkKind::Mainnet => Network::Mainnet,
NetworkKind::Testnet => Network::new_default_testnet(),
NetworkKind::Regtest => Network::new_regtest(regtest_activation_heights),
}
};