aboutsummaryrefslogtreecommitdiff
path: root/src/rpcwallet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpcwallet.cpp')
-rw-r--r--src/rpcwallet.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp
index d3b6c349a7..c8b2127264 100644
--- a/src/rpcwallet.cpp
+++ b/src/rpcwallet.cpp
@@ -1888,4 +1888,36 @@ Value settxfee(const Array& params, bool fHelp)
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;
+}
+
+