Merge pull request #3717 from djpnewton/wallet-txcount
add getwalletinfo RPC call with wallet transaction count
This commit is contained in:
commit
a63f8b7b36
3 changed files with 34 additions and 0 deletions
|
@ -295,6 +295,7 @@ static const CRPCCommand vRPCCommands[] =
|
||||||
{ "lockunspent", &lockunspent, false, false, true },
|
{ "lockunspent", &lockunspent, false, false, true },
|
||||||
{ "listlockunspent", &listlockunspent, false, false, true },
|
{ "listlockunspent", &listlockunspent, false, false, true },
|
||||||
{ "settxfee", &settxfee, false, false, true },
|
{ "settxfee", &settxfee, false, false, true },
|
||||||
|
{ "getwalletinfo", &getwalletinfo, true, false, true },
|
||||||
|
|
||||||
/* Wallet-enabled mining */
|
/* Wallet-enabled mining */
|
||||||
{ "getgenerate", &getgenerate, true, false, false },
|
{ "getgenerate", &getgenerate, true, false, false },
|
||||||
|
|
|
@ -163,6 +163,7 @@ extern json_spirit::Value walletlock(const json_spirit::Array& params, bool fHel
|
||||||
extern json_spirit::Value encryptwallet(const json_spirit::Array& params, bool fHelp);
|
extern json_spirit::Value encryptwallet(const json_spirit::Array& params, bool fHelp);
|
||||||
extern json_spirit::Value validateaddress(const json_spirit::Array& params, bool fHelp);
|
extern json_spirit::Value validateaddress(const json_spirit::Array& params, bool fHelp);
|
||||||
extern json_spirit::Value getinfo(const json_spirit::Array& params, bool fHelp);
|
extern json_spirit::Value getinfo(const json_spirit::Array& params, bool fHelp);
|
||||||
|
extern json_spirit::Value getwalletinfo(const json_spirit::Array& params, bool fHelp);
|
||||||
|
|
||||||
extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp
|
extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp
|
||||||
extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp);
|
extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp);
|
||||||
|
|
|
@ -1888,4 +1888,36 @@ Value settxfee(const Array& params, bool fHelp)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Value getwalletinfo(const Array& params, bool fHelp)
|
||||||
|
{
|
||||||
|
if (fHelp || params.size() != 0)
|
||||||
|
throw runtime_error(
|
||||||
|
"getwalletinfo\n"
|
||||||
|
"Returns an object containing various wallet state info.\n"
|
||||||
|
"\nResult:\n"
|
||||||
|
"{\n"
|
||||||
|
" \"walletversion\": xxxxx, (numeric) the wallet version\n"
|
||||||
|
" \"balance\": xxxxxxx, (numeric) the total bitcoin balance of the wallet\n"
|
||||||
|
" \"txcount\": xxxxxxx, (numeric) the total number of transactions in the wallet\n"
|
||||||
|
" \"keypoololdest\": xxxxxx, (numeric) the timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool\n"
|
||||||
|
" \"keypoolsize\": xxxx, (numeric) how many new keys are pre-generated\n"
|
||||||
|
" \"unlocked_until\": ttt, (numeric) the timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked\n"
|
||||||
|
"}\n"
|
||||||
|
"\nExamples:\n"
|
||||||
|
+ HelpExampleCli("getwalletinfo", "")
|
||||||
|
+ HelpExampleRpc("getwalletinfo", "")
|
||||||
|
);
|
||||||
|
|
||||||
|
Object obj;
|
||||||
|
obj.push_back(Pair("walletversion", pwalletMain->GetVersion()));
|
||||||
|
obj.push_back(Pair("balance", ValueFromAmount(pwalletMain->GetBalance())));
|
||||||
|
obj.push_back(Pair("txcount", (int)pwalletMain->mapWallet.size()));
|
||||||
|
obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
|
||||||
|
obj.push_back(Pair("keypoolsize", (int)pwalletMain->GetKeyPoolSize()));
|
||||||
|
if (pwalletMain->IsCrypted())
|
||||||
|
obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime));
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue