aboutsummaryrefslogtreecommitdiff
path: root/src/consensus
diff options
context:
space:
mode:
authorJorge Timón <jtimon@jtimon.cc>2015-02-11 11:58:11 +0100
committerJorge Timón <jtimon@jtimon.cc>2015-03-25 20:39:26 +0100
commitbd006110fb51f1fc0cbbeef3ed6eaae66b296d8c (patch)
tree303e9ec0bd25fc3c2d15fe33004dcb7459f50b13 /src/consensus
parentcbb2cf5522983e4a952cfb25e577b1998a06c769 (diff)
Consensus: Refactor: Introduce Consensus::Params class
Diffstat (limited to 'src/consensus')
-rw-r--r--src/consensus/params.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/consensus/params.h b/src/consensus/params.h
new file mode 100644
index 0000000000..c4cfa48c7e
--- /dev/null
+++ b/src/consensus/params.h
@@ -0,0 +1,32 @@
+// Copyright (c) 2009-2010 Satoshi Nakamoto
+// Copyright (c) 2009-2014 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_CONSENSUS_CONSENSUS_PARAMS_H
+#define BITCOIN_CONSENSUS_CONSENSUS_PARAMS_H
+
+#include "arith_uint256.h"
+#include "uint256.h"
+
+namespace Consensus {
+/**
+ * Parameters that influence chain consensus.
+ */
+struct Params {
+ uint256 hashGenesisBlock;
+ int nSubsidyHalvingInterval;
+ /** Used to check majorities for block version upgrade */
+ int nMajorityEnforceBlockUpgrade;
+ int nMajorityRejectBlockOutdated;
+ int nMajorityWindow;
+ /** Proof of work parameters */
+ arith_uint256 powLimit;
+ bool fPowAllowMinDifficultyBlocks;
+ int64_t nPowTargetSpacing;
+ int64_t nPowTargetTimespan;
+ int64_t DifficultyAdjustmentInterval() const { return nPowTargetTimespan / nPowTargetSpacing; }
+};
+} // namespace Consensus
+
+#endif // BITCOIN_CONSENSUS_CONSENSUS_PARAMS_H