Bitcoin Core 28.99.0
P2P Digital Currency
chaintype.cpp
Go to the documentation of this file.
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
11std::string ChainTypeToString(ChainType chain)
12{
13 switch (chain) {
14 case ChainType::MAIN:
15 return "main";
17 return "test";
19 return "testnet4";
21 return "signet";
23 return "regtest";
24 }
25 assert(false);
26}
27
28std::optional<ChainType> ChainTypeFromString(std::string_view chain)
29{
30 if (chain == "main") {
31 return ChainType::MAIN;
32 } else if (chain == "test") {
33 return ChainType::TESTNET;
34 } else if (chain == "testnet4") {
36 } else if (chain == "signet") {
37 return ChainType::SIGNET;
38 } else if (chain == "regtest") {
39 return ChainType::REGTEST;
40 } else {
41 return std::nullopt;
42 }
43}
std::optional< ChainType > ChainTypeFromString(std::string_view chain)
Definition: chaintype.cpp:28
std::string ChainTypeToString(ChainType chain)
Definition: chaintype.cpp:11
ChainType
Definition: chaintype.h:11
assert(!tx.IsCoinBase())