|
|
@ -153,7 +153,7 @@ Value importwallet(const Array& params, bool fHelp) |
|
|
|
EnsureWalletIsUnlocked(); |
|
|
|
EnsureWalletIsUnlocked(); |
|
|
|
|
|
|
|
|
|
|
|
ifstream file; |
|
|
|
ifstream file; |
|
|
|
file.open(params[0].get_str().c_str()); |
|
|
|
file.open(params[0].get_str().c_str(), std::ios::in | std::ios::ate); |
|
|
|
if (!file.is_open()) |
|
|
|
if (!file.is_open()) |
|
|
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot open wallet dump file"); |
|
|
|
throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot open wallet dump file"); |
|
|
|
|
|
|
|
|
|
|
@ -161,7 +161,12 @@ Value importwallet(const Array& params, bool fHelp) |
|
|
|
|
|
|
|
|
|
|
|
bool fGood = true; |
|
|
|
bool fGood = true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int64_t nFilesize = std::max((int64_t)1, (int64_t)file.tellg()); |
|
|
|
|
|
|
|
file.seekg(0, file.beg); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pwalletMain->ShowProgress(_("Importing..."), 0); // show progress dialog in GUI
|
|
|
|
while (file.good()) { |
|
|
|
while (file.good()) { |
|
|
|
|
|
|
|
pwalletMain->ShowProgress("", std::max(1, std::min(99, (int)(((double)file.tellg() / (double)nFilesize) * 100)))); |
|
|
|
std::string line; |
|
|
|
std::string line; |
|
|
|
std::getline(file, line); |
|
|
|
std::getline(file, line); |
|
|
|
if (line.empty() || line[0] == '#') |
|
|
|
if (line.empty() || line[0] == '#') |
|
|
@ -207,6 +212,7 @@ Value importwallet(const Array& params, bool fHelp) |
|
|
|
nTimeBegin = std::min(nTimeBegin, nTime); |
|
|
|
nTimeBegin = std::min(nTimeBegin, nTime); |
|
|
|
} |
|
|
|
} |
|
|
|
file.close(); |
|
|
|
file.close(); |
|
|
|
|
|
|
|
pwalletMain->ShowProgress("", 100); // hide progress dialog in GUI
|
|
|
|
|
|
|
|
|
|
|
|
CBlockIndex *pindex = chainActive.Tip(); |
|
|
|
CBlockIndex *pindex = chainActive.Tip(); |
|
|
|
while (pindex && pindex->pprev && pindex->nTime > nTimeBegin - 7200) |
|
|
|
while (pindex && pindex->pprev && pindex->nTime > nTimeBegin - 7200) |
|
|
|