diff options
author | Jorge Timón <jtimon@jtimon.cc> | 2015-02-11 11:58:11 +0100 |
---|---|---|
committer | Jorge Timón <jtimon@jtimon.cc> | 2015-03-25 20:39:26 +0100 |
commit | bd006110fb51f1fc0cbbeef3ed6eaae66b296d8c (patch) | |
tree | 303e9ec0bd25fc3c2d15fe33004dcb7459f50b13 /src/consensus | |
parent | cbb2cf5522983e4a952cfb25e577b1998a06c769 (diff) |
Consensus: Refactor: Introduce Consensus::Params class
Diffstat (limited to 'src/consensus')
-rw-r--r-- | src/consensus/params.h | 32 |
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 |