Code cleanups for masternode rpc
- drop boost/lexical_cast - drop c_str() where applicable - slightly prettify descriptions and some output
This commit is contained in:
parent
aa96d701af
commit
a3dfd86058
@ -14,10 +14,8 @@
|
|||||||
#include "rpcserver.h"
|
#include "rpcserver.h"
|
||||||
#include "utilmoneystr.h"
|
#include "utilmoneystr.h"
|
||||||
|
|
||||||
#include <boost/lexical_cast.hpp>
|
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
using namespace json_spirit;
|
using namespace json_spirit;
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
void SendMoney(const CTxDestination &address, CAmount nValue, CWalletTx& wtxNew, AvailableCoinsType coin_type=ALL_COINS)
|
void SendMoney(const CTxDestination &address, CAmount nValue, CWalletTx& wtxNew, AvailableCoinsType coin_type=ALL_COINS)
|
||||||
{
|
{
|
||||||
@ -174,7 +172,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
if (params.size() == 2)
|
if (params.size() == 2)
|
||||||
{
|
{
|
||||||
if(params[1] == "enabled") return mnodeman.CountEnabled();
|
if(params[1] == "enabled") return mnodeman.CountEnabled();
|
||||||
if(params[1] == "both") return boost::lexical_cast<std::string>(mnodeman.CountEnabled()) + " / " + boost::lexical_cast<std::string>(mnodeman.size());
|
if(params[1] == "both") return strprintf("%d / %d", mnodeman.CountEnabled(), mnodeman.size());
|
||||||
}
|
}
|
||||||
return mnodeman.size();
|
return mnodeman.size();
|
||||||
}
|
}
|
||||||
@ -215,7 +213,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
"command needs at least 2 parameters\n");
|
"command needs at least 2 parameters\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string alias = params[1].get_str().c_str();
|
std::string alias = params[1].get_str();
|
||||||
|
|
||||||
if(pwalletMain->IsLocked()) {
|
if(pwalletMain->IsLocked()) {
|
||||||
SecureString strWalletPass;
|
SecureString strWalletPass;
|
||||||
@ -284,15 +282,12 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
std::vector<CMasternodeConfig::CMasternodeEntry> mnEntries;
|
std::vector<CMasternodeConfig::CMasternodeEntry> mnEntries;
|
||||||
mnEntries = masternodeConfig.getEntries();
|
mnEntries = masternodeConfig.getEntries();
|
||||||
|
|
||||||
int total = 0;
|
|
||||||
int successful = 0;
|
int successful = 0;
|
||||||
int fail = 0;
|
int failed = 0;
|
||||||
|
|
||||||
Object resultsObj;
|
Object resultsObj;
|
||||||
|
|
||||||
BOOST_FOREACH(CMasternodeConfig::CMasternodeEntry mne, masternodeConfig.getEntries()) {
|
BOOST_FOREACH(CMasternodeConfig::CMasternodeEntry mne, masternodeConfig.getEntries()) {
|
||||||
total++;
|
|
||||||
|
|
||||||
std::string errorMessage;
|
std::string errorMessage;
|
||||||
|
|
||||||
bool result = activeMasternode.Register(mne.getIp(), mne.getPrivKey(), mne.getTxHash(), mne.getOutputIndex(), errorMessage);
|
bool result = activeMasternode.Register(mne.getIp(), mne.getPrivKey(), mne.getTxHash(), mne.getOutputIndex(), errorMessage);
|
||||||
@ -304,7 +299,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
if(result) {
|
if(result) {
|
||||||
successful++;
|
successful++;
|
||||||
} else {
|
} else {
|
||||||
fail++;
|
failed++;
|
||||||
statusObj.push_back(Pair("errorMessage", errorMessage));
|
statusObj.push_back(Pair("errorMessage", errorMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -313,8 +308,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
pwalletMain->Lock();
|
pwalletMain->Lock();
|
||||||
|
|
||||||
Object returnObj;
|
Object returnObj;
|
||||||
returnObj.push_back(Pair("overall", "Successfully started " + boost::lexical_cast<std::string>(successful) + " masternodes, failed to start " +
|
returnObj.push_back(Pair("overall", strprintf("Successfully started %d masternodes, failed to start %d, total %d", successful, failed, successful + failed)));
|
||||||
boost::lexical_cast<std::string>(fail) + ", total " + boost::lexical_cast<std::string>(total)));
|
|
||||||
returnObj.push_back(Pair("detail", resultsObj));
|
returnObj.push_back(Pair("detail", resultsObj));
|
||||||
|
|
||||||
return returnObj;
|
return returnObj;
|
||||||
@ -352,10 +346,10 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
ExtractDestination(pubkey, address1);
|
ExtractDestination(pubkey, address1);
|
||||||
CBitcoinAddress address2(address1);
|
CBitcoinAddress address2(address1);
|
||||||
|
|
||||||
obj.push_back(Pair("IP:port", winner->addr.ToString().c_str()));
|
obj.push_back(Pair("IP:port", winner->addr.ToString()));
|
||||||
obj.push_back(Pair("protocol", (int64_t)winner->protocolVersion));
|
obj.push_back(Pair("protocol", (int64_t)winner->protocolVersion));
|
||||||
obj.push_back(Pair("vin", winner->vin.prevout.hash.ToString().c_str()));
|
obj.push_back(Pair("vin", winner->vin.prevout.hash.ToString()));
|
||||||
obj.push_back(Pair("pubkey", address2.ToString().c_str()));
|
obj.push_back(Pair("pubkey", address2.ToString()));
|
||||||
obj.push_back(Pair("lastseen", (winner->lastPing == CMasternodePing()) ? winner->sigTime :
|
obj.push_back(Pair("lastseen", (winner->lastPing == CMasternodePing()) ? winner->sigTime :
|
||||||
(int64_t)winner->lastPing.sigTime));
|
(int64_t)winner->lastPing.sigTime));
|
||||||
obj.push_back(Pair("activeseconds", (winner->lastPing == CMasternodePing()) ? 0 :
|
obj.push_back(Pair("activeseconds", (winner->lastPing == CMasternodePing()) ? 0 :
|
||||||
@ -380,7 +374,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
|
|
||||||
for(int nHeight = chainActive.Tip()->nHeight-10; nHeight < chainActive.Tip()->nHeight+20; nHeight++)
|
for(int nHeight = chainActive.Tip()->nHeight-10; nHeight < chainActive.Tip()->nHeight+20; nHeight++)
|
||||||
{
|
{
|
||||||
obj.push_back(Pair(boost::lexical_cast<std::string>(nHeight), GetRequiredPaymentsString(nHeight).c_str()));
|
obj.push_back(Pair(strprintf("%d", nHeight), GetRequiredPaymentsString(nHeight)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
@ -395,7 +389,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
{
|
{
|
||||||
std::string strAddress = "";
|
std::string strAddress = "";
|
||||||
if (params.size() == 2){
|
if (params.size() == 2){
|
||||||
strAddress = params[1].get_str().c_str();
|
strAddress = params[1].get_str();
|
||||||
} else {
|
} else {
|
||||||
throw runtime_error(
|
throw runtime_error(
|
||||||
"Masternode address required\n");
|
"Masternode address required\n");
|
||||||
@ -436,7 +430,7 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
|
|
||||||
Object obj;
|
Object obj;
|
||||||
BOOST_FOREACH(COutput& out, possibleCoins) {
|
BOOST_FOREACH(COutput& out, possibleCoins) {
|
||||||
obj.push_back(Pair(out.tx->GetHash().ToString().c_str(), boost::lexical_cast<std::string>(out.i)));
|
obj.push_back(Pair(out.tx->GetHash().ToString(), strprintf("%d", out.i)));
|
||||||
}
|
}
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
@ -455,11 +449,11 @@ Value masternode(const Array& params, bool fHelp)
|
|||||||
CBitcoinAddress address2(address1);
|
CBitcoinAddress address2(address1);
|
||||||
|
|
||||||
Object mnObj;
|
Object mnObj;
|
||||||
mnObj.push_back(Pair("vin", activeMasternode.vin.ToString().c_str()));
|
mnObj.push_back(Pair("vin", activeMasternode.vin.ToString()));
|
||||||
mnObj.push_back(Pair("service", activeMasternode.service.ToString().c_str()));
|
mnObj.push_back(Pair("service", activeMasternode.service.ToString()));
|
||||||
mnObj.push_back(Pair("status", activeMasternode.status));
|
mnObj.push_back(Pair("status", activeMasternode.status));
|
||||||
mnObj.push_back(Pair("pubKeyMasternode", address2.ToString().c_str()));
|
mnObj.push_back(Pair("pubKeyMasternode", address2.ToString()));
|
||||||
mnObj.push_back(Pair("notCapableReason", activeMasternode.notCapableReason.c_str()));
|
mnObj.push_back(Pair("notCapableReason", activeMasternode.notCapableReason));
|
||||||
return mnObj;
|
return mnObj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -488,17 +482,17 @@ Value masternodelist(const Array& params, bool fHelp)
|
|||||||
"\nAvailable modes:\n"
|
"\nAvailable modes:\n"
|
||||||
" activeseconds - Print number of seconds masternode recognized by the network as enabled\n"
|
" activeseconds - Print number of seconds masternode recognized by the network as enabled\n"
|
||||||
" (since latest issued \"masternode start/start-many/start-alias\")\n"
|
" (since latest issued \"masternode start/start-many/start-alias\")\n"
|
||||||
|
" addr - Print ip address associated with a masternode (can be additionally filtered, partial match)\n"
|
||||||
" full - Print info in format 'status protocol pubkey IP lastseen activeseconds lastpaid'\n"
|
" full - Print info in format 'status protocol pubkey IP lastseen activeseconds lastpaid'\n"
|
||||||
" (can be additionally filtered, partial match)\n"
|
" (can be additionally filtered, partial match)\n"
|
||||||
" lastseen - Print timestamp of when a masternode was last seen on the network\n"
|
" lastseen - Print timestamp of when a masternode was last seen on the network\n"
|
||||||
|
" lastpaid - The last time a node was paid on the network\n"
|
||||||
" protocol - Print protocol of a masternode (can be additionally filtered, exact match))\n"
|
" protocol - Print protocol of a masternode (can be additionally filtered, exact match))\n"
|
||||||
" pubkey - Print public key associated with a masternode (can be additionally filtered,\n"
|
" pubkey - Print public key associated with a masternode (can be additionally filtered,\n"
|
||||||
" partial match)\n"
|
" partial match)\n"
|
||||||
" rank - Print rank of a masternode based on current block\n"
|
" rank - Print rank of a masternode based on current block\n"
|
||||||
" status - Print masternode status: ENABLED / EXPIRED / VIN_SPENT / REMOVE / POS_ERROR\n"
|
" status - Print masternode status: ENABLED / EXPIRED / VIN_SPENT / REMOVE / POS_ERROR\n"
|
||||||
" (can be additionally filtered, partial match)\n"
|
" (can be additionally filtered, partial match)\n"
|
||||||
" addr - Print ip address associated with a masternode (can be additionally filtered, partial match)\n"
|
|
||||||
" lastpaid - The last time a node was paid on the network\n"
|
|
||||||
" votes - The amount of times this node has voted recently\n"
|
" votes - The amount of times this node has voted recently\n"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -518,6 +512,10 @@ Value masternodelist(const Array& params, bool fHelp)
|
|||||||
if (strMode == "activeseconds") {
|
if (strMode == "activeseconds") {
|
||||||
if(strFilter !="" && strVin.find(strFilter) == string::npos) continue;
|
if(strFilter !="" && strVin.find(strFilter) == string::npos) continue;
|
||||||
obj.push_back(Pair(strVin, (int64_t)(mn.lastPing.sigTime - mn.sigTime)));
|
obj.push_back(Pair(strVin, (int64_t)(mn.lastPing.sigTime - mn.sigTime)));
|
||||||
|
} else if (strMode == "addr") {
|
||||||
|
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
||||||
|
strVin.find(strFilter) == string::npos) continue;
|
||||||
|
obj.push_back(Pair(strVin, mn.addr.ToString()));
|
||||||
} else if (strMode == "full") {
|
} else if (strMode == "full") {
|
||||||
CScript pubkey;
|
CScript pubkey;
|
||||||
pubkey = GetScriptForDestination(mn.pubkey.GetID());
|
pubkey = GetScriptForDestination(mn.pubkey.GetID());
|
||||||
@ -529,10 +527,10 @@ Value masternodelist(const Array& params, bool fHelp)
|
|||||||
addrStream << setw(21) << strVin;
|
addrStream << setw(21) << strVin;
|
||||||
|
|
||||||
std::ostringstream stringStream;
|
std::ostringstream stringStream;
|
||||||
stringStream << setw(10) <<
|
stringStream << setw(9) <<
|
||||||
mn.Status() << " " <<
|
mn.Status() << " " <<
|
||||||
mn.protocolVersion << " " <<
|
mn.protocolVersion << " " <<
|
||||||
address2.ToString() << " " <<
|
address2.ToString() << " " << setw(21) <<
|
||||||
mn.addr.ToString() << " " <<
|
mn.addr.ToString() << " " <<
|
||||||
mn.lastPing.sigTime << " " << setw(8) <<
|
mn.lastPing.sigTime << " " << setw(8) <<
|
||||||
(mn.lastPing.sigTime - mn.sigTime) << " " <<
|
(mn.lastPing.sigTime - mn.sigTime) << " " <<
|
||||||
@ -545,8 +543,12 @@ Value masternodelist(const Array& params, bool fHelp)
|
|||||||
} else if (strMode == "lastseen") {
|
} else if (strMode == "lastseen") {
|
||||||
if(strFilter !="" && strVin.find(strFilter) == string::npos) continue;
|
if(strFilter !="" && strVin.find(strFilter) == string::npos) continue;
|
||||||
obj.push_back(Pair(strVin, (int64_t)mn.lastPing.sigTime));
|
obj.push_back(Pair(strVin, (int64_t)mn.lastPing.sigTime));
|
||||||
|
} else if (strMode == "lastpaid"){
|
||||||
|
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
||||||
|
strVin.find(strFilter) == string::npos) continue;
|
||||||
|
obj.push_back(Pair(strVin, (int64_t)mn.GetLastPaid()));
|
||||||
} else if (strMode == "protocol") {
|
} else if (strMode == "protocol") {
|
||||||
if(strFilter !="" && strFilter != boost::lexical_cast<std::string>(mn.protocolVersion) &&
|
if(strFilter !="" && strFilter != strprintf("%d", mn.protocolVersion) &&
|
||||||
strVin.find(strFilter) == string::npos) continue;
|
strVin.find(strFilter) == string::npos) continue;
|
||||||
obj.push_back(Pair(strVin, (int64_t)mn.protocolVersion));
|
obj.push_back(Pair(strVin, (int64_t)mn.protocolVersion));
|
||||||
} else if (strMode == "pubkey") {
|
} else if (strMode == "pubkey") {
|
||||||
@ -558,19 +560,11 @@ Value masternodelist(const Array& params, bool fHelp)
|
|||||||
|
|
||||||
if(strFilter !="" && address2.ToString().find(strFilter) == string::npos &&
|
if(strFilter !="" && address2.ToString().find(strFilter) == string::npos &&
|
||||||
strVin.find(strFilter) == string::npos) continue;
|
strVin.find(strFilter) == string::npos) continue;
|
||||||
obj.push_back(Pair(strVin, address2.ToString().c_str()));
|
obj.push_back(Pair(strVin, address2.ToString()));
|
||||||
} else if(strMode == "status") {
|
} else if(strMode == "status") {
|
||||||
std::string strStatus = mn.Status();
|
std::string strStatus = mn.Status();
|
||||||
if(strFilter !="" && strVin.find(strFilter) == string::npos && strStatus.find(strFilter) == string::npos) continue;
|
if(strFilter !="" && strVin.find(strFilter) == string::npos && strStatus.find(strFilter) == string::npos) continue;
|
||||||
obj.push_back(Pair(strVin, strStatus.c_str()));
|
obj.push_back(Pair(strVin, strStatus));
|
||||||
} else if (strMode == "addr") {
|
|
||||||
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
|
||||||
strVin.find(strFilter) == string::npos) continue;
|
|
||||||
obj.push_back(Pair(strVin, mn.addr.ToString().c_str()));
|
|
||||||
} else if(strMode == "lastpaid"){
|
|
||||||
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
|
||||||
strVin.find(strFilter) == string::npos) continue;
|
|
||||||
obj.push_back(Pair(strVin, (int64_t)mn.GetLastPaid()));
|
|
||||||
} else if(strMode == "votes"){
|
} else if(strMode == "votes"){
|
||||||
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
if(strFilter !="" && mn.vin.prevout.hash.ToString().find(strFilter) == string::npos &&
|
||||||
strVin.find(strFilter) == string::npos) continue;
|
strVin.find(strFilter) == string::npos) continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user