diff options
Diffstat (limited to 'src/miner.cpp')
-rw-r--r-- | src/miner.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/miner.cpp b/src/miner.cpp index e50c0b576d..3ecf1609e1 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -141,7 +141,7 @@ public: } }; -CBlockTemplate* CreateNewBlock(CReserveKey& reservekey) +CBlockTemplate* CreateNewBlock(const CScript& scriptPubKeyIn) { // Create new block auto_ptr<CBlockTemplate> pblocktemplate(new CBlockTemplate()); @@ -154,10 +154,7 @@ CBlockTemplate* CreateNewBlock(CReserveKey& reservekey) txNew.vin.resize(1); txNew.vin[0].prevout.SetNull(); txNew.vout.resize(1); - CPubKey pubkey; - if (!reservekey.GetReservedKey(pubkey)) - return NULL; - txNew.vout[0].scriptPubKey << pubkey << OP_CHECKSIG; + txNew.vout[0].scriptPubKey = scriptPubKeyIn; // Add our coinbase tx as first transaction pblock->vtx.push_back(txNew); @@ -383,6 +380,15 @@ CBlockTemplate* CreateNewBlock(CReserveKey& reservekey) return pblocktemplate.release(); } +CBlockTemplate* CreateNewBlockWithKey(CReserveKey& reservekey) +{ + CPubKey pubkey; + if (!reservekey.GetReservedKey(pubkey)) + return NULL; + + CScript scriptPubKey = CScript() << pubkey << OP_CHECKSIG; + return CreateNewBlock(scriptPubKey); +} void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce) { @@ -510,7 +516,7 @@ void static BitcoinMiner(CWallet *pwallet) unsigned int nTransactionsUpdatedLast = nTransactionsUpdated; CBlockIndex* pindexPrev = pindexBest; - auto_ptr<CBlockTemplate> pblocktemplate(CreateNewBlock(reservekey)); + auto_ptr<CBlockTemplate> pblocktemplate(CreateNewBlockWithKey(reservekey)); if (!pblocktemplate.get()) return; CBlock *pblock = &pblocktemplate->block; |