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 : 547150 : std::string ChainTypeToString(ChainType chain) 12 : : { 13 [ + + + + : 547150 : switch (chain) { - ] 14 : : case ChainType::MAIN: 15 [ + - ]: 546025 : return "main"; 16 : : case ChainType::TESTNET: 17 [ + - ]: 75 : return "test"; 18 : : case ChainType::SIGNET: 19 [ + - ]: 74 : return "signet"; 20 : : case ChainType::REGTEST: 21 [ + - ]: 976 : return "regtest"; 22 : : } 23 : 0 : assert(false); 24 : 547150 : } 25 : : 26 : 12 : std::optional<ChainType> ChainTypeFromString(std::string_view chain) 27 : : { 28 [ + + ]: 12 : if (chain == "main") { 29 : 1 : return ChainType::MAIN; 30 [ + + ]: 11 : } else if (chain == "test") { 31 : 1 : return ChainType::TESTNET; 32 [ + + ]: 10 : } else if (chain == "signet") { 33 : 1 : return ChainType::SIGNET; 34 [ + + ]: 9 : } else if (chain == "regtest") { 35 : 1 : return ChainType::REGTEST; 36 : : } else { 37 : 8 : return std::nullopt; 38 : : } 39 : 12 : }