1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
crate::ix!();
impl ArgsManagerInner {
pub fn get_chain_name(&mut self) -> Result<String,StdException> {
let ignore_default_section_config = false;
let get_chain_name = true;
let section = "";
let mut get_net = |arg: &str| {
let value: SettingsValue = get_setting(
&self.settings,
section,
&setting_name(arg),
ignore_default_section_config,
get_chain_name
);
match value.0.is_null() {
true => false,
false => match value.0.is_bool() {
true => value.0.get_bool(),
false => interpret_bool(value.0.get_str())
}
}
};
let reg_test: bool = get_net("-regtest");
let sig_net: bool = get_net("-signet");
let test_net: bool = get_net("-testnet");
let is_chain_arg_set: bool = self.is_arg_set("-chain");
if is_chain_arg_set as i32 + reg_test as i32 + sig_net as i32 + test_net as i32 > 1 {
return Err(runtime_error("Invalid combination of -regtest, -signet, -testnet and -chain. Can use at most one."));
}
if reg_test {
return Ok(base_chain_params::REGTEST.to_string());
}
if sig_net {
return Ok(base_chain_params::SIGNET.to_string());
}
if test_net {
return Ok(base_chain_params::TESTNET.to_string());
}
Ok(self.get_arg("-chain",base_chain_params::MAIN))
}
}