Merge pull request #2080 from mcassano/importprivkey_rescan_false
add rescan bool to importprivkey to control whether to do a rescan after import
This commit is contained in:
commit
51dc438942
1 changed files with 13 additions and 5 deletions
|
@ -34,15 +34,21 @@ public:
|
||||||
|
|
||||||
Value importprivkey(const Array& params, bool fHelp)
|
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(
|
throw runtime_error(
|
||||||
"importprivkey <bitcoinprivkey> [label]\n"
|
"importprivkey <bitcoinprivkey> [label] [rescan=true]\n"
|
||||||
"Adds a private key (as returned by dumpprivkey) to your wallet.");
|
"Adds a private key (as returned by dumpprivkey) to your wallet.");
|
||||||
|
|
||||||
string strSecret = params[0].get_str();
|
string strSecret = params[0].get_str();
|
||||||
string strLabel = "";
|
string strLabel = "";
|
||||||
if (params.size() > 1)
|
if (params.size() > 1)
|
||||||
strLabel = params[1].get_str();
|
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;
|
CBitcoinSecret vchSecret;
|
||||||
bool fGood = vchSecret.SetString(strSecret);
|
bool fGood = vchSecret.SetString(strSecret);
|
||||||
|
|
||||||
|
@ -61,9 +67,11 @@ Value importprivkey(const Array& params, bool fHelp)
|
||||||
|
|
||||||
if (!pwalletMain->AddKey(key))
|
if (!pwalletMain->AddKey(key))
|
||||||
throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet");
|
throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet");
|
||||||
|
|
||||||
pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
|
if (fRescan) {
|
||||||
pwalletMain->ReacceptWalletTransactions();
|
pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
|
||||||
|
pwalletMain->ReacceptWalletTransactions();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Value::null;
|
return Value::null;
|
||||||
|
|
Loading…
Reference in a new issue