diff options
author | Gavin Andresen <gavinandresen@gmail.com> | 2012-12-12 09:34:24 -0800 |
---|---|---|
committer | Gavin Andresen <gavinandresen@gmail.com> | 2012-12-12 09:34:24 -0800 |
commit | 51dc438942e5bb8fd8abf94a457d7e99f4417ee4 (patch) | |
tree | bddd4da673c17ac581d3b14f0097c038b44d903c | |
parent | 278a09a6c62decbd537af22cc41fd2dd1f49183d (diff) | |
parent | 44051af1a87a5fb8f4e88442c0eb64a1b4ecf2e6 (diff) |
Merge pull request #2080 from mcassano/importprivkey_rescan_false
add rescan bool to importprivkey to control whether to do a rescan after import
-rw-r--r-- | src/rpcdump.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 55d5d79e23..77cef02736 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -34,15 +34,21 @@ public: Value importprivkey(const Array& params, bool fHelp) { - if (fHelp || params.size() < 1 || params.size() > 2) + if (fHelp || params.size() < 1 || params.size() > 3) throw runtime_error( - "importprivkey <bitcoinprivkey> [label]\n" + "importprivkey <bitcoinprivkey> [label] [rescan=true]\n" "Adds a private key (as returned by dumpprivkey) to your wallet."); string strSecret = params[0].get_str(); string strLabel = ""; if (params.size() > 1) strLabel = params[1].get_str(); + + // Whether to perform rescan after import + bool fRescan = true; + if (params.size() > 2) + fRescan = params[2].get_bool(); + CBitcoinSecret vchSecret; bool fGood = vchSecret.SetString(strSecret); @@ -61,9 +67,11 @@ Value importprivkey(const Array& params, bool fHelp) if (!pwalletMain->AddKey(key)) throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet"); - - pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true); - pwalletMain->ReacceptWalletTransactions(); + + if (fRescan) { + pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true); + pwalletMain->ReacceptWalletTransactions(); + } } return Value::null; |