diff options
author | Anthony Towns <aj@erisian.com.au> | 2021-03-11 12:47:24 +1000 |
---|---|---|
committer | Anthony Towns <aj@erisian.com.au> | 2021-06-30 08:19:12 +1000 |
commit | 92f48f360da5f425428b761219301f509826bec4 (patch) | |
tree | 06edcd128c8025ada2211aaaa4aa5212e9867f48 | |
parent | ea68b3a5729f5d240e968388c4f88acffeb27228 (diff) | |
download | bitcoin-92f48f360da5f425428b761219301f509826bec4.tar.xz |
deploymentinfo: Add DeploymentName()
-rw-r--r-- | src/deploymentinfo.cpp | 18 | ||||
-rw-r--r-- | src/deploymentinfo.h | 14 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/deploymentinfo.cpp b/src/deploymentinfo.cpp index 70d9961133..030a7806de 100644 --- a/src/deploymentinfo.cpp +++ b/src/deploymentinfo.cpp @@ -16,3 +16,21 @@ const struct VBDeploymentInfo VersionBitsDeploymentInfo[Consensus::MAX_VERSION_B /*.gbt_force =*/ true, }, }; + +std::string DeploymentName(Consensus::BuriedDeployment dep) +{ + assert(ValidDeployment(dep)); + switch (dep) { + case Consensus::DEPLOYMENT_HEIGHTINCB: + return "bip34"; + case Consensus::DEPLOYMENT_CLTV: + return "bip65"; + case Consensus::DEPLOYMENT_DERSIG: + return "bip66"; + case Consensus::DEPLOYMENT_CSV: + return "csv"; + case Consensus::DEPLOYMENT_SEGWIT: + return "segwit"; + } // no default case, so the compiler can warn about missing cases + return ""; +} diff --git a/src/deploymentinfo.h b/src/deploymentinfo.h index 4c68856eac..63d58a7da2 100644 --- a/src/deploymentinfo.h +++ b/src/deploymentinfo.h @@ -5,6 +5,10 @@ #ifndef BITCOIN_DEPLOYMENTINFO_H #define BITCOIN_DEPLOYMENTINFO_H +#include <consensus/params.h> + +#include <string> + struct VBDeploymentInfo { /** Deployment name */ const char *name; @@ -12,6 +16,14 @@ struct VBDeploymentInfo { bool gbt_force; }; -extern const struct VBDeploymentInfo VersionBitsDeploymentInfo[]; +extern const VBDeploymentInfo VersionBitsDeploymentInfo[Consensus::MAX_VERSION_BITS_DEPLOYMENTS]; + +std::string DeploymentName(Consensus::BuriedDeployment dep); + +inline std::string DeploymentName(Consensus::DeploymentPos pos) +{ + assert(Consensus::ValidDeployment(pos)); + return VersionBitsDeploymentInfo[pos].name; +} #endif // BITCOIN_DEPLOYMENTINFO_H |