deploymentinfo.cpp raw
1 // Copyright (c) 2016-present 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 <deploymentinfo.h>
6
7 #include <consensus/params.h>
8
9 #include <string_view>
10
11 const std::array<VBDeploymentInfo,Consensus::MAX_VERSION_BITS_DEPLOYMENTS> VersionBitsDeploymentInfo{
12 VBDeploymentInfo{
13 .name = "testdummy",
14 .gbt_optional_rule = true,
15 },
16 };
17
18 std::string DeploymentName(Consensus::BuriedDeployment dep)
19 {
20 assert(ValidDeployment(dep));
21 switch (dep) {
22 case Consensus::DEPLOYMENT_HEIGHTINCB:
23 return "bip34";
24 case Consensus::DEPLOYMENT_CLTV:
25 return "bip65";
26 case Consensus::DEPLOYMENT_DERSIG:
27 return "bip66";
28 case Consensus::DEPLOYMENT_CSV:
29 return "csv";
30 case Consensus::DEPLOYMENT_SEGWIT:
31 return "segwit";
32 } // no default case, so the compiler can warn about missing cases
33 return "";
34 }
35
36 std::optional<Consensus::BuriedDeployment> GetBuriedDeployment(const std::string_view name)
37 {
38 if (name == "segwit") {
39 return Consensus::BuriedDeployment::DEPLOYMENT_SEGWIT;
40 } else if (name == "bip34") {
41 return Consensus::BuriedDeployment::DEPLOYMENT_HEIGHTINCB;
42 } else if (name == "dersig") {
43 return Consensus::BuriedDeployment::DEPLOYMENT_DERSIG;
44 } else if (name == "cltv") {
45 return Consensus::BuriedDeployment::DEPLOYMENT_CLTV;
46 } else if (name == "csv") {
47 return Consensus::BuriedDeployment::DEPLOYMENT_CSV;
48 }
49 return std::nullopt;
50 }
51