Apply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys
This commit is contained in:
parent
6154a09e01
commit
6cb888b37d
2 changed files with 12 additions and 5 deletions
|
@ -1693,7 +1693,7 @@ bool CWallet::ImportScriptPubKeys(const std::string& label, const std::set<CScri
|
||||||
CTxDestination dest;
|
CTxDestination dest;
|
||||||
ExtractDestination(script, dest);
|
ExtractDestination(script, dest);
|
||||||
if (!internal && IsValidDestination(dest)) {
|
if (!internal && IsValidDestination(dest)) {
|
||||||
SetAddressBook(dest, label, "receive");
|
SetAddressBookWithDB(batch, dest, label, "receive");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -3280,8 +3280,7 @@ DBErrors CWallet::ZapWalletTx(std::vector<CWalletTx>& vWtx)
|
||||||
return DBErrors::LOAD_OK;
|
return DBErrors::LOAD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CWallet::SetAddressBookWithDB(WalletBatch& batch, const CTxDestination& address, const std::string& strName, const std::string& strPurpose)
|
||||||
bool CWallet::SetAddressBook(const CTxDestination& address, const std::string& strName, const std::string& strPurpose)
|
|
||||||
{
|
{
|
||||||
bool fUpdated = false;
|
bool fUpdated = false;
|
||||||
{
|
{
|
||||||
|
@ -3294,9 +3293,15 @@ bool CWallet::SetAddressBook(const CTxDestination& address, const std::string& s
|
||||||
}
|
}
|
||||||
NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address) != ISMINE_NO,
|
NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address) != ISMINE_NO,
|
||||||
strPurpose, (fUpdated ? CT_UPDATED : CT_NEW) );
|
strPurpose, (fUpdated ? CT_UPDATED : CT_NEW) );
|
||||||
if (!strPurpose.empty() && !WalletBatch(*database).WritePurpose(EncodeDestination(address), strPurpose))
|
if (!strPurpose.empty() && !batch.WritePurpose(EncodeDestination(address), strPurpose))
|
||||||
return false;
|
return false;
|
||||||
return WalletBatch(*database).WriteName(EncodeDestination(address), strName);
|
return batch.WriteName(EncodeDestination(address), strName);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CWallet::SetAddressBook(const CTxDestination& address, const std::string& strName, const std::string& strPurpose)
|
||||||
|
{
|
||||||
|
WalletBatch batch(*database);
|
||||||
|
return SetAddressBookWithDB(batch, address, strName, strPurpose);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CWallet::DelAddressBook(const CTxDestination& address)
|
bool CWallet::DelAddressBook(const CTxDestination& address)
|
||||||
|
|
|
@ -715,6 +715,8 @@ private:
|
||||||
|
|
||||||
void AddKeypoolPubkeyWithDB(const CPubKey& pubkey, const bool internal, WalletBatch& batch);
|
void AddKeypoolPubkeyWithDB(const CPubKey& pubkey, const bool internal, WalletBatch& batch);
|
||||||
|
|
||||||
|
bool SetAddressBookWithDB(WalletBatch& batch, const CTxDestination& address, const std::string& strName, const std::string& strPurpose);
|
||||||
|
|
||||||
//! Adds a script to the store and saves it to disk
|
//! Adds a script to the store and saves it to disk
|
||||||
bool AddCScriptWithDB(WalletBatch& batch, const CScript& script);
|
bool AddCScriptWithDB(WalletBatch& batch, const CScript& script);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue