From b702ae812c88fb6ccc4b5163383d96997004c3c8 Mon Sep 17 00:00:00 2001 From: MeshCollider Date: Sat, 11 Nov 2017 21:21:12 +1300 Subject: [PATCH] Add CScripts to dumpwallet RPC --- src/wallet/rpcdump.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp index 6ca947bf1bbe5..29f5a0da94414 100644 --- a/src/wallet/rpcdump.cpp +++ b/src/wallet/rpcdump.cpp @@ -640,6 +640,8 @@ UniValue dumpwallet(const JSONRPCRequest& request) const std::map& mapKeyPool = pwallet->GetAllReserveKeys(); pwallet->GetKeyBirthTimes(mapKeyBirth); + std::set scripts = pwallet->GetCScripts(); + // sort time/key pairs std::vector > vKeyBirth; for (const auto& entry : mapKeyBirth) { @@ -694,6 +696,15 @@ UniValue dumpwallet(const JSONRPCRequest& request) } } file << "\n"; + for (const CScriptID &scriptid : scripts) { + CScript script; + std::string address = EncodeDestination(scriptid); + if(pwallet->GetCScript(scriptid, script)) { + file << strprintf("%s 0 script=1", HexStr(script.begin(), script.end())); + file << strprintf(" # addr=%s\n", address); + } + } + file << "\n"; file << "# End of dump\n"; file.close();