|
|
@ -116,9 +116,14 @@ Value importprivkey(const Array& params, bool fHelp) |
|
|
|
if (pwalletMain->HaveKey(vchAddress)) |
|
|
|
if (pwalletMain->HaveKey(vchAddress)) |
|
|
|
return Value::null; |
|
|
|
return Value::null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pwalletMain->mapKeyMetadata[vchAddress].nCreateTime = 1; |
|
|
|
|
|
|
|
|
|
|
|
if (!pwalletMain->AddKeyPubKey(key, pubkey)) |
|
|
|
if (!pwalletMain->AddKeyPubKey(key, pubkey)) |
|
|
|
throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet"); |
|
|
|
throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// whenever a key is imported, we need to scan the whole chain
|
|
|
|
|
|
|
|
pwalletMain->nTimeFirstKey = 1; // 0 would be considered 'no value'
|
|
|
|
|
|
|
|
|
|
|
|
if (fRescan) { |
|
|
|
if (fRescan) { |
|
|
|
pwalletMain->ScanForWalletTransactions(chainActive.Genesis(), true); |
|
|
|
pwalletMain->ScanForWalletTransactions(chainActive.Genesis(), true); |
|
|
|
pwalletMain->ReacceptWalletTransactions(); |
|
|
|
pwalletMain->ReacceptWalletTransactions(); |
|
|
|