aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/rpcdump.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wallet/rpcdump.cpp')
-rw-r--r--src/wallet/rpcdump.cpp41
1 files changed, 28 insertions, 13 deletions
diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp
index b9c92a06c..b682a42e2 100644
--- a/src/wallet/rpcdump.cpp
+++ b/src/wallet/rpcdump.cpp
@@ -19,12 +19,12 @@
#include <boost/algorithm/string.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
-#include "json/json_spirit_value.h"
+#include "univalue/univalue.h"
-using namespace json_spirit;
using namespace std;
void EnsureWalletIsUnlocked();
+bool EnsureWalletIsAvailable(bool avoidException);
std::string static EncodeDumpTime(int64_t nTime) {
return DateTimeStrFormat("%Y-%m-%dT%H:%M:%SZ", nTime);
@@ -69,8 +69,11 @@ std::string DecodeDumpString(const std::string &str) {
return ret.str();
}
-Value importprivkey(const Array& params, bool fHelp)
+UniValue importprivkey(const UniValue& params, bool fHelp)
{
+ if (!EnsureWalletIsAvailable(fHelp))
+ return NullUniValue;
+
if (fHelp || params.size() < 1 || params.size() > 3)
throw runtime_error(
"importprivkey \"bitcoinprivkey\" ( \"label\" rescan )\n"
@@ -122,7 +125,7 @@ Value importprivkey(const Array& params, bool fHelp)
// Don't throw error in case a key is already there
if (pwalletMain->HaveKey(vchAddress))
- return Value::null;
+ return NullUniValue;
pwalletMain->mapKeyMetadata[vchAddress].nCreateTime = 1;
@@ -137,11 +140,14 @@ Value importprivkey(const Array& params, bool fHelp)
}
}
- return Value::null;
+ return NullUniValue;
}
-Value importaddress(const Array& params, bool fHelp)
+UniValue importaddress(const UniValue& params, bool fHelp)
{
+ if (!EnsureWalletIsAvailable(fHelp))
+ return NullUniValue;
+
if (fHelp || params.size() < 1 || params.size() > 3)
throw runtime_error(
"importaddress \"address\" ( \"label\" rescan )\n"
@@ -193,7 +199,7 @@ Value importaddress(const Array& params, bool fHelp)
// Don't throw error in case an address is already there
if (pwalletMain->HaveWatchOnly(script))
- return Value::null;
+ return NullUniValue;
pwalletMain->MarkDirty();
@@ -207,11 +213,14 @@ Value importaddress(const Array& params, bool fHelp)
}
}
- return Value::null;
+ return NullUniValue;
}
-Value importwallet(const Array& params, bool fHelp)
+UniValue importwallet(const UniValue& params, bool fHelp)
{
+ if (!EnsureWalletIsAvailable(fHelp))
+ return NullUniValue;
+
if (fHelp || params.size() != 1)
throw runtime_error(
"importwallet \"filename\"\n"
@@ -308,11 +317,14 @@ Value importwallet(const Array& params, bool fHelp)
if (!fGood)
throw JSONRPCError(RPC_WALLET_ERROR, "Error adding some keys to wallet");
- return Value::null;
+ return NullUniValue;
}
-Value dumpprivkey(const Array& params, bool fHelp)
+UniValue dumpprivkey(const UniValue& params, bool fHelp)
{
+ if (!EnsureWalletIsAvailable(fHelp))
+ return NullUniValue;
+
if (fHelp || params.size() != 1)
throw runtime_error(
"dumpprivkey \"bitcoinaddress\"\n"
@@ -346,8 +358,11 @@ Value dumpprivkey(const Array& params, bool fHelp)
}
-Value dumpwallet(const Array& params, bool fHelp)
+UniValue dumpwallet(const UniValue& params, bool fHelp)
{
+ if (!EnsureWalletIsAvailable(fHelp))
+ return NullUniValue;
+
if (fHelp || params.size() != 1)
throw runtime_error(
"dumpwallet \"filename\"\n"
@@ -405,5 +420,5 @@ Value dumpwallet(const Array& params, bool fHelp)
file << "\n";
file << "# End of dump\n";
file.close();
- return Value::null;
+ return NullUniValue;
}