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