Skip to content

Commit 9fec4da

Browse files
committedJun 5, 2017
Merge bitcoin#9740: Add friendly output to dumpwallet
164019d Add dumpwallet output test (aideca) 9f82134 Add friendly output to dumpwallet refs bitcoin#9564 (aideca) Tree-SHA512: 913fcf18d42eebe34173f1f2519973494b1ad2d86d125ff4bf566d6c64aa501c02f8831e6f44812cd87a46916f61c6f510146af406865b31856d8336c173569f
2 parents bea5b00 + 164019d commit 9fec4da

File tree

2 files changed

+17
-4
lines changed

2 files changed

+17
-4
lines changed
 

‎src/wallet/rpcdump.cpp

+13-3
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,11 @@ UniValue dumpwallet(const JSONRPCRequest& request)
603603
"dumpwallet \"filename\"\n"
604604
"\nDumps all wallet keys in a human-readable format.\n"
605605
"\nArguments:\n"
606-
"1. \"filename\" (string, required) The filename\n"
606+
"1. \"filename\" (string, required) The filename with path (either absolute or relative to bitcoind)\n"
607+
"\nResult:\n"
608+
"{ (json object)\n"
609+
" \"filename\" : { (string) The filename with full absolute path\n"
610+
"}\n"
607611
"\nExamples:\n"
608612
+ HelpExampleCli("dumpwallet", "\"test\"")
609613
+ HelpExampleRpc("dumpwallet", "\"test\"")
@@ -614,7 +618,9 @@ UniValue dumpwallet(const JSONRPCRequest& request)
614618
EnsureWalletIsUnlocked(pwallet);
615619

616620
std::ofstream file;
617-
file.open(request.params[0].get_str().c_str());
621+
boost::filesystem::path filepath = request.params[0].get_str();
622+
filepath = boost::filesystem::absolute(filepath);
623+
file.open(filepath.string().c_str());
618624
if (!file.is_open())
619625
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot open wallet dump file");
620626

@@ -679,7 +685,11 @@ UniValue dumpwallet(const JSONRPCRequest& request)
679685
file << "\n";
680686
file << "# End of dump\n";
681687
file.close();
682-
return NullUniValue;
688+
689+
UniValue reply(UniValue::VOBJ);
690+
reply.push_back(Pair("filename", filepath.string()));
691+
692+
return reply;
683693
}
684694

685695

‎test/functional/wallet-dump.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
55
"""Test the dumpwallet RPC."""
66

7+
import os
8+
79
from test_framework.test_framework import BitcoinTestFramework
810
from test_framework.util import (assert_equal, bitcoind_processes)
911

@@ -82,7 +84,8 @@ def run_test (self):
8284
self.nodes[0].keypoolrefill()
8385

8486
# dump unencrypted wallet
85-
self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.unencrypted.dump")
87+
result = self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.unencrypted.dump")
88+
assert_equal(result['filename'], os.path.abspath(tmpdir + "/node0/wallet.unencrypted.dump"))
8689

8790
found_addr, found_addr_chg, found_addr_rsv, hd_master_addr_unenc = \
8891
read_dump(tmpdir + "/node0/wallet.unencrypted.dump", addrs, None)

0 commit comments

Comments
 (0)
Please sign in to comment.