Changeset View
Changeset View
Standalone View
Standalone View
src/pow.h
// Copyright (c) 2009-2010 Satoshi Nakamoto | // Copyright (c) 2009-2010 Satoshi Nakamoto | ||||
// Copyright (c) 2009-2016 The Bitcoin Core developers | // Copyright (c) 2009-2016 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#ifndef BITCOIN_POW_H | #ifndef BITCOIN_POW_H | ||||
#define BITCOIN_POW_H | #define BITCOIN_POW_H | ||||
#include <cstdint> | #include <cstdint> | ||||
class CBlockHeader; | class CBlockHeader; | ||||
class CBlockIndex; | class CBlockIndex; | ||||
class Config; | |||||
class uint256; | class uint256; | ||||
namespace Consensus { | |||||
struct Params; | |||||
} | |||||
uint32_t GetNextWorkRequired(const CBlockIndex *pindexPrev, | uint32_t GetNextWorkRequired(const CBlockIndex *pindexPrev, | ||||
const CBlockHeader *pblock, const Config &config); | const CBlockHeader *pblock, | ||||
const Consensus::Params ¶ms); | |||||
uint32_t CalculateNextWorkRequired(const CBlockIndex *pindexPrev, | uint32_t CalculateNextWorkRequired(const CBlockIndex *pindexPrev, | ||||
int64_t nFirstBlockTime, | int64_t nFirstBlockTime, | ||||
const Config &config); | const Consensus::Params ¶ms); | ||||
/** | /** | ||||
* Check whether a block hash satisfies the proof-of-work requirement specified | * Check whether a block hash satisfies the proof-of-work requirement specified | ||||
* by nBits | * by nBits | ||||
*/ | */ | ||||
bool CheckProofOfWork(uint256 hash, uint32_t nBits, const Config &config); | bool CheckProofOfWork(uint256 hash, uint32_t nBits, | ||||
const Consensus::Params ¶ms); | |||||
/** | /** | ||||
* Bitcoin cash's difficulty adjustment mechanism. | * Bitcoin cash's difficulty adjustment mechanism. | ||||
*/ | */ | ||||
uint32_t GetNextCashWorkRequired(const CBlockIndex *pindexPrev, | uint32_t GetNextCashWorkRequired(const CBlockIndex *pindexPrev, | ||||
const CBlockHeader *pblock, | const CBlockHeader *pblock, | ||||
const Config &config); | const Consensus::Params ¶ms); | ||||
#endif // BITCOIN_POW_H | #endif // BITCOIN_POW_H |