Add CScripts to dumpwallet RPC

This commit is contained in:
MeshCollider 2017-11-11 21:21:12 +13:00
parent cdc260afd5
commit b702ae812c

View file

@ -640,6 +640,8 @@ UniValue dumpwallet(const JSONRPCRequest& request)
const std::map<CKeyID, int64_t>& mapKeyPool = pwallet->GetAllReserveKeys();
pwallet->GetKeyBirthTimes(mapKeyBirth);
std::set<CScriptID> scripts = pwallet->GetCScripts();
// sort time/key pairs
std::vector<std::pair<int64_t, CKeyID> > 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();