From c438e745636502c833094f3cfad8abe52d6388c5 Mon Sep 17 00:00:00 2001 From: Tim Flynn Date: Wed, 21 Dec 2016 22:20:05 -0500 Subject: [PATCH] Improve governance debugging information (#1221) * Add missing MN vin to error message for missing masternodes * Added creation time and masternode vin to gobject output --- src/governance.cpp | 2 +- src/rpcgovernance.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/governance.cpp b/src/governance.cpp index 340a975b7..c9afe7c5d 100644 --- a/src/governance.cpp +++ b/src/governance.cpp @@ -177,7 +177,7 @@ void CGovernanceManager::ProcessMessage(CNode* pfrom, std::string& strCommand, C if(fMasternodeMissing) { mapMasternodeOrphanObjects.insert(std::make_pair(nHash, object_time_pair_t(govobj, GetAdjustedTime() + GOVERNANCE_ORPHAN_EXPIRATION_TIME))); - LogPrint("gobject", "MNGOVERNANCEOBJECT -- Missing masternode for: %s\n", strHash); + LogPrintf("MNGOVERNANCEOBJECT -- Missing masternode for: %s, strError = %s\n", strHash, strError); // fIsValid must also be false here so we will return early in the next if block } if(!fIsValid) { diff --git a/src/rpcgovernance.cpp b/src/rpcgovernance.cpp index 0d42da4d7..7fff59801 100644 --- a/src/rpcgovernance.cpp +++ b/src/rpcgovernance.cpp @@ -592,6 +592,11 @@ UniValue gobject(const UniValue& params, bool fHelp) bObj.push_back(Pair("DataString", pGovObj->GetDataAsString())); bObj.push_back(Pair("Hash", pGovObj->GetHash().ToString())); bObj.push_back(Pair("CollateralHash", pGovObj->GetCollateralHash().ToString())); + bObj.push_back(Pair("CreationTime", pGovObj->GetCreationTime())); + const CTxIn& masternodeVin = pGovObj->GetMasternodeVin(); + if(masternodeVin != CTxIn()) { + bObj.push_back(Pair("SigningMasternode", masternodeVin.prevout.ToStringShort())); + } // REPORT STATUS FOR FUNDING VOTES SPECIFICALLY bObj.push_back(Pair("AbsoluteYesCount", pGovObj->GetAbsoluteYesCount(VOTE_SIGNAL_FUNDING))); @@ -638,6 +643,11 @@ UniValue gobject(const UniValue& params, bool fHelp) objResult.push_back(Pair("DataString", pGovObj->GetDataAsString())); objResult.push_back(Pair("Hash", pGovObj->GetHash().ToString())); objResult.push_back(Pair("CollateralHash", pGovObj->GetCollateralHash().ToString())); + objResult.push_back(Pair("CreationTime", pGovObj->GetCreationTime())); + const CTxIn& masternodeVin = pGovObj->GetMasternodeVin(); + if(masternodeVin != CTxIn()) { + objResult.push_back(Pair("SigningMasternode", masternodeVin.prevout.ToStringShort())); + } // SHOW (MUCH MORE) INFORMATION ABOUT VOTES FOR GOVERNANCE OBJECT (THAN LIST/DIFF ABOVE) // -- FUNDING VOTING RESULTS