@@ -4667,11 +4667,9 @@ void CWallet::UpdateKeyPoolsFromTransactions(const std::string& strOpType, const
4667
4667
std::vector<unsigned char > key1 = vvchOpParameters[1 ];
4668
4668
4669
4669
if (strOpType == " bdap_new_account" ) {
4670
- // reservedEd25519PubKeys.push_back(key1);
4671
4670
ReserveEdKeyForTransactions (key1);
4672
4671
}
4673
4672
else if (strOpType == " bdap_new_link_request" || strOpType == " bdap_new_link_accept" ) {
4674
- // reservedEd25519PubKeys.push_back(key0);
4675
4673
ReserveEdKeyForTransactions (key0);
4676
4674
fNeedToUpdateLinks = true ;
4677
4675
}
@@ -4774,10 +4772,11 @@ void CWallet::ReserveEdKeyForTransactions(const std::vector<unsigned char>& pubK
4774
4772
}
4775
4773
4776
4774
if (EraseIndex) {
4777
- std::set<int64_t >::iterator eraseIndexEd = setInternalEdKeyPool.find (IndexToErase);
4778
- std::set<int64_t >::iterator eraseIndex = setInternalKeyPool.find (IndexToErase);
4779
-
4775
+ std::set<int64_t >::iterator eraseIndexEd = setInternalEdKeyPool.find (IndexToErase);
4776
+ std::set<int64_t >::iterator eraseIndex = setInternalKeyPool.find (IndexToErase);
4777
+ if (eraseIndexEd != setInternalEdKeyPool. end ())
4780
4778
setInternalEdKeyPool.erase (eraseIndexEd);
4779
+ if (eraseIndex != setInternalKeyPool.end ())
4781
4780
setInternalKeyPool.erase (eraseIndex);
4782
4781
}
4783
4782
@@ -4790,7 +4789,7 @@ void CWallet::KeepKey(int64_t nIndex)
4790
4789
CWalletDB walletdb (strWalletFile);
4791
4790
walletdb.ErasePool (nIndex);
4792
4791
nKeysLeftSinceAutoBackup = nWalletBackups ? nKeysLeftSinceAutoBackup - 1 : 0 ;
4793
- }
4792
+ }
4794
4793
LogPrintf (" keypool keep %d\n " , nIndex);
4795
4794
}
4796
4795
0 commit comments