diff --git a/src/wallet/rpcdump.cpp b/src/wallet/rpcdump.cpp index 865f9b75..35c372b9 100644 --- a/src/wallet/rpcdump.cpp +++ b/src/wallet/rpcdump.cpp @@ -565,12 +565,12 @@ Value z_importkey(const Array& params, bool fHelp) auto addr = key.address(); { - pwalletMain->MarkDirty(); - // Don't throw error in case a key is already there if (pwalletMain->HaveSpendingKey(addr)) return Value::null; + pwalletMain->MarkDirty(); + if (!pwalletMain-> AddZKey(key)) throw JSONRPCError(RPC_WALLET_ERROR, "Error adding spending key to wallet"); diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index d2878a40..0f6eeff4 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -80,7 +80,7 @@ CZCPaymentAddress CWallet::GenerateNewZKey() // Check for collision, even though it is unlikely to ever occur if (CCryptoKeyStore::HaveSpendingKey(addr)) - throw std::runtime_error("CWallet::GenerateNewSpendingKey(): Collision detected"); + throw std::runtime_error("CWallet::GenerateNewZKey(): Collision detected"); // Create new metadata int64_t nCreationTime = GetTime(); @@ -88,7 +88,7 @@ CZCPaymentAddress CWallet::GenerateNewZKey() CZCPaymentAddress pubaddr(addr); if (!AddZKey(k)) - throw std::runtime_error("CWallet::GenerateNewSpendingKey(): AddZKey failed"); + throw std::runtime_error("CWallet::GenerateNewZKey(): AddZKey failed"); return pubaddr; }