From c1de826f1043befa70a8f215406388033a9556b9 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sun, 29 Jan 2017 13:51:30 +0100 Subject: [PATCH] Correct #ifdef nesting of miner headers and helper functions --- src/miner.cpp | 49 +++++++++++++++++++++++++------------------------ src/miner.h | 18 ++++++++++-------- 2 files changed, 35 insertions(+), 32 deletions(-) diff --git a/src/miner.cpp b/src/miner.cpp index d59e1409b..5e2811504 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -387,30 +387,6 @@ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) return pblocktemplate.release(); } -void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce) -{ - // Update nExtraNonce - static uint256 hashPrevBlock; - if (hashPrevBlock != pblock->hashPrevBlock) - { - nExtraNonce = 0; - hashPrevBlock = pblock->hashPrevBlock; - } - ++nExtraNonce; - unsigned int nHeight = pindexPrev->nHeight+1; // Height first in coinbase required for block.version=2 - CMutableTransaction txCoinbase(pblock->vtx[0]); - txCoinbase.vin[0].scriptSig = (CScript() << nHeight << CScriptNum(nExtraNonce)) + COINBASE_FLAGS; - assert(txCoinbase.vin[0].scriptSig.size() <= 100); - - pblock->vtx[0] = txCoinbase; - pblock->hashMerkleRoot = pblock->BuildMerkleTree(); -} - -////////////////////////////////////////////////////////////////////////////// -// -// Internal miner -// - #ifdef ENABLE_WALLET boost::optional GetMinerScriptPubKey(CReserveKey& reservekey) #else @@ -453,7 +429,32 @@ CBlockTemplate* CreateNewBlockWithKey() return CreateNewBlock(*scriptPubKey); } +////////////////////////////////////////////////////////////////////////////// +// +// Internal miner +// + #ifdef ENABLE_MINING + +void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce) +{ + // Update nExtraNonce + static uint256 hashPrevBlock; + if (hashPrevBlock != pblock->hashPrevBlock) + { + nExtraNonce = 0; + hashPrevBlock = pblock->hashPrevBlock; + } + ++nExtraNonce; + unsigned int nHeight = pindexPrev->nHeight+1; // Height first in coinbase required for block.version=2 + CMutableTransaction txCoinbase(pblock->vtx[0]); + txCoinbase.vin[0].scriptSig = (CScript() << nHeight << CScriptNum(nExtraNonce)) + COINBASE_FLAGS; + assert(txCoinbase.vin[0].scriptSig.size() <= 100); + + pblock->vtx[0] = txCoinbase; + pblock->hashMerkleRoot = pblock->BuildMerkleTree(); +} + #ifdef ENABLE_WALLET static bool ProcessBlockFound(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) #else diff --git a/src/miner.h b/src/miner.h index 43fb5bd4b..bf1a088f0 100644 --- a/src/miner.h +++ b/src/miner.h @@ -26,14 +26,6 @@ struct CBlockTemplate std::vector vTxSigOps; }; -#ifdef ENABLE_MINING -/** Run the miner threads */ - #ifdef ENABLE_WALLET -void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads); - #else -void GenerateBitcoins(bool fGenerate, int nThreads); - #endif -#endif /** Generate a new block, without valid proof-of-work */ CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn); #ifdef ENABLE_WALLET @@ -43,8 +35,18 @@ CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey); boost::optional GetMinerScriptPubKey(); CBlockTemplate* CreateNewBlockWithKey(); #endif + +#ifdef ENABLE_MINING /** Modify the extranonce in a block */ void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce); +/** Run the miner threads */ + #ifdef ENABLE_WALLET +void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads); + #else +void GenerateBitcoins(bool fGenerate, int nThreads); + #endif +#endif + void UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams, const CBlockIndex* pindexPrev); #endif // BITCOIN_MINER_H