/ src / deploymentinfo.cpp
deploymentinfo.cpp
 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  }