aboutsummaryrefslogtreecommitdiff
path: root/src/rpcmining.cpp
diff options
context:
space:
mode:
authorJeff Garzik <[email protected]>2013-10-01 16:18:50 -0400
committerJeff Garzik <[email protected]>2013-10-01 16:18:50 -0400
commit19e5ae7369de8ff556b2ea008850a62b1fde9a1b (patch)
tree4b712da1581c88940fd7fcf1a4dc184419eec792 /src/rpcmining.cpp
parentMerge pull request #2991 from Diapolo/translation_fixes (diff)
parentSupport absence of wallet (pwalletMain==NULL) in several locations, (diff)
downloaddiscoin-19e5ae7369de8ff556b2ea008850a62b1fde9a1b.tar.xz
discoin-19e5ae7369de8ff556b2ea008850a62b1fde9a1b.zip
Merge branch 'pwalletmain' - checking pwalletMain for NULL,
a pre-req for no-wallet support.
Diffstat (limited to 'src/rpcmining.cpp')
-rw-r--r--src/rpcmining.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp
index 2b7a5e38c..b013b4b20 100644
--- a/src/rpcmining.cpp
+++ b/src/rpcmining.cpp
@@ -18,12 +18,18 @@ static CReserveKey* pMiningKey = NULL;
void InitRPCMining()
{
+ if (!pwalletMain)
+ return;
+
// getwork/getblocktemplate mining rewards paid here:
pMiningKey = new CReserveKey(pwalletMain);
}
void ShutdownRPCMining()
{
+ if (!pMiningKey)
+ return;
+
delete pMiningKey; pMiningKey = NULL;
}
@@ -87,6 +93,9 @@ Value getgenerate(const Array& params, bool fHelp)
"getgenerate\n"
"Returns true or false.");
+ if (!pMiningKey)
+ return false;
+
return GetBoolArg("-gen", false);
}
@@ -112,6 +121,7 @@ Value setgenerate(const Array& params, bool fHelp)
}
mapArgs["-gen"] = (fGenerate ? "1" : "0");
+ assert(pwalletMain != NULL);
GenerateBitcoins(fGenerate, pwalletMain);
return Value::null;
}
@@ -143,7 +153,7 @@ Value getmininginfo(const Array& params, bool fHelp)
obj.push_back(Pair("currentblocktx", (uint64_t)nLastBlockTx));
obj.push_back(Pair("difficulty", (double)GetDifficulty()));
obj.push_back(Pair("errors", GetWarnings("statusbar")));
- obj.push_back(Pair("generate", GetBoolArg("-gen", false)));
+ obj.push_back(Pair("generate", getgenerate(params, false)));
obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", -1)));
obj.push_back(Pair("hashespersec", gethashespersec(params, false)));
obj.push_back(Pair("networkhashps", getnetworkhashps(params, false)));
@@ -261,6 +271,7 @@ Value getwork(const Array& params, bool fHelp)
pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second;
pblock->hashMerkleRoot = pblock->BuildMerkleTree();
+ assert(pwalletMain != NULL);
return CheckWork(pblock, *pwalletMain, *pMiningKey);
}
}