Branch data Line data Source code
1 : : // Copyright (c) 2023 The Bitcoin Core developers
2 : : // Distributed under the MIT software license, see the accompanying
3 : : // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 : :
5 : : #include <util/chaintype.h>
6 : :
7 : : #include <cassert>
8 : : #include <optional>
9 : : #include <string>
10 : :
11 : 1463974 : std::string ChainTypeToString(ChainType chain)
12 : : {
13 [ + + + + : 1463974 : switch (chain) {
+ - ]
14 : 1462302 : case ChainType::MAIN:
15 : 1462302 : return "main";
16 : 105 : case ChainType::TESTNET:
17 : 105 : return "test";
18 : 96 : case ChainType::TESTNET4:
19 : 96 : return "testnet4";
20 : 101 : case ChainType::SIGNET:
21 : 101 : return "signet";
22 : 1370 : case ChainType::REGTEST:
23 : 1370 : return "regtest";
24 : : }
25 : 0 : assert(false);
26 : : }
27 : :
28 : 24 : std::optional<ChainType> ChainTypeFromString(std::string_view chain)
29 : : {
30 [ + + ]: 24 : if (chain == "main") {
31 : 2 : return ChainType::MAIN;
32 [ + + ]: 22 : } else if (chain == "test") {
33 : 1 : return ChainType::TESTNET;
34 [ + + ]: 21 : } else if (chain == "testnet4") {
35 : 1 : return ChainType::TESTNET4;
36 [ + + ]: 20 : } else if (chain == "signet") {
37 : 1 : return ChainType::SIGNET;
38 [ + + ]: 19 : } else if (chain == "regtest") {
39 : 1 : return ChainType::REGTEST;
40 : : } else {
41 : 18 : return std::nullopt;
42 : : }
43 : : }
|