aboutsummaryrefslogtreecommitdiff
path: root/src/chainparams.h
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2022-03-09 16:11:39 -0500
committerTheCharlatan <seb.kung@gmail.com>2023-03-15 16:42:42 +0100
commit84b85786f0f5cb23cc257a4464ae345e1d372313 (patch)
treeef292571361801e2e0953d0c1a82e2e54b4717d2 /src/chainparams.h
parent76cd4e7c96242398172989609f1b9a8843c404b4 (diff)
downloadbitcoin-84b85786f0f5cb23cc257a4464ae345e1d372313.tar.xz
Decouple RegTestChainParams from ArgsManager
RegTest chain params can now be initialized by configuring a RegTestOptions struct, or with ArgsManager. This offers an interface for creating RegTestChainParams without a gArgs object.
Diffstat (limited to 'src/chainparams.h')
-rw-r--r--src/chainparams.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/chainparams.h b/src/chainparams.h
index 2f6f3f0907..f2e2eb8bc0 100644
--- a/src/chainparams.h
+++ b/src/chainparams.h
@@ -13,8 +13,10 @@
#include <protocol.h>
#include <util/hash_type.h>
+#include <cstdint>
#include <memory>
#include <string>
+#include <unordered_map>
#include <vector>
typedef std::map<int, uint256> MapCheckpoints;
@@ -131,6 +133,24 @@ public:
std::optional<std::vector<std::string>> seeds{};
};
+ /**
+ * VersionBitsParameters holds activation parameters
+ */
+ struct VersionBitsParameters {
+ int64_t start_time;
+ int64_t timeout;
+ int min_activation_height;
+ };
+
+ /**
+ * RegTestOptions holds configurations for creating a regtest CChainParams.
+ */
+ struct RegTestOptions {
+ std::unordered_map<Consensus::DeploymentPos, VersionBitsParameters> version_bits_parameters{};
+ std::unordered_map<Consensus::BuriedDeployment, int> activation_heights{};
+ bool fastprune{false};
+ };
+
protected:
CChainParams() {}