// Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2016 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_POW_H #define BITCOIN_POW_H #include "consensus/params.h" #include class CBlockHeader; class CBlockIndex; class uint256; uint32_t GetNextWorkRequired(const CBlockIndex *pindexPrev, const CBlockHeader *pblock, const Consensus::Params &); uint32_t CalculateNextWorkRequired(const CBlockIndex *pindexPrev, int64_t nFirstBlockTime, const Consensus::Params &); /** * Check whether a block hash satisfies the proof-of-work requirement specified * by nBits */ bool CheckProofOfWork(uint256 hash, uint32_t nBits, const Consensus::Params &); /** * Bitcoin cash's difficulty adjustement mechanism. */ uint32_t GetNextCashWorkRequired(const CBlockIndex *pindexPrev, const CBlockHeader *pblock, const Consensus::Params ¶ms); #endif // BITCOIN_POW_H