X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Finit.cpp;h=2437e3bfdf02641861a464c5fb87801dded0be75;hb=126e51d5d96f8bc2c900df18af5827c279967dcc;hp=395527e8c65c814cb4fc4489f0732783448d338b;hpb=713fd8a57b0f2b5f8f8158542e51f1c51919eb32;p=novacoin.git diff --git a/src/init.cpp b/src/init.cpp index 395527e..2437e3b 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -31,15 +31,14 @@ CClientUIInterface uiInterface; std::string strWalletFileName; bool fConfChange; unsigned int nNodeLifespan; -unsigned int nMinerSleep; bool fUseFastIndex; -bool fUseFastStakeMiner; bool fUseMemoryLog; enum Checkpoints::CPMode CheckpointsMode; // Ping and address broadcast intervals extern int64_t nPingInterval; extern int64_t nBroadcastInterval; +extern int64_t nReserveBalance; ////////////////////////////////////////////////////////////////////////////// // @@ -274,7 +273,7 @@ std::string HelpMessage() " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" + #ifdef DB_LOG_IN_MEMORY - " -memorylog " + _("Use in-memory logging for block index database (default: 1)") + "\n" + + " -memorylog " + _("Use in-memory logging for block index database (default: 1)") + "\n" + #endif " -paytxfee= " + _("Fee per KB to add to transactions you send") + "\n" + @@ -305,6 +304,7 @@ std::string HelpMessage() " -upgradewallet " + _("Upgrade wallet to latest format") + "\n" + " -keypool= " + _("Set key pool size to (default: 100)") + "\n" + " -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" + + " -zapwallettxes " + _("Clear list of wallet transactions (diagnostic tool; implies -rescan)") + "\n" + " -salvagewallet " + _("Attempt to recover private keys from a corrupt wallet.dat") + "\n" + " -checkblocks= " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n" + " -checklevel= " + _("How thorough the block verification is (0-6, default: 1)") + "\n" + @@ -377,7 +377,6 @@ bool AppInit2() nNodeLifespan = (unsigned int)(GetArg("-addrlifespan", 7)); fUseFastIndex = GetBoolArg("-fastindex", true); fUseMemoryLog = GetBoolArg("-memorylog", true); - nMinerSleep = (unsigned int)(GetArg("-minersleep", 500)); // Ping and address broadcast intervals nPingInterval = max(10 * 60, GetArg("-keepalive", 30 * 60)); @@ -437,6 +436,12 @@ bool AppInit2() SoftSetBoolArg("-rescan", true); } + if (GetBoolArg("-zapwallettxes", false)) { + // -zapwallettx implies a rescan + if (SoftSetBoolArg("-rescan", true)) + printf("AppInit2 : parameter interaction: -zapwallettxes=1 -> setting -rescan=1\n"); + } + // ********************************************************* Step 3: parameter-to-internal-flags // -par=0 means autodetect, but nScriptCheckThreads==0 means no concurrency @@ -732,7 +737,6 @@ bool AppInit2() if (mapArgs.count("-reservebalance")) // ppcoin: reserve balance amount { - int64_t nReserveBalance = 0; if (!ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) { InitError(_("Invalid amount for -reservebalance=")); @@ -839,6 +843,19 @@ bool AppInit2() // ********************************************************* Step 8: load wallet + if (GetBoolArg("-zapwallettxes", false)) { + uiInterface.InitMessage(_("Zapping all transactions from wallet...")); + + pwalletMain = new CWallet(strWalletFileName); + DBErrors nZapWalletRet = pwalletMain->ZapWalletTx(); + if (nZapWalletRet != DB_LOAD_OK) { + uiInterface.InitMessage(_("Error loading wallet.dat: Wallet corrupted")); + return false; + } + delete pwalletMain; + pwalletMain = NULL; + } + uiInterface.InitMessage(_("Loading wallet...")); printf("Loading wallet...\n"); nStart = GetTimeMillis();