mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 22:50:59 +01:00
interfaces: Stop exposing wallet destdata to gui
Stop giving GUI access to destdata rows in database. Replace with narrow API just for saving and reading receive request information. This simplifies code and should prevent the GUI from interfering with other destdata like address-used status. Note: No user-visible behavior is changing in this commit. New CWallet::SetAddressReceiveRequest() implementation avoids a bug in CWallet::AddDestData() where a modification would leave the previous value in memory while writing the new value to disk. But it doesn't matter because the GUI doesn't currently expose the ability to modify receive requests, only to add and erase them.
This commit is contained in:
@@ -199,22 +199,14 @@ public:
|
||||
}
|
||||
return result;
|
||||
}
|
||||
bool addDestData(const CTxDestination& dest, const std::string& key, const std::string& value) override
|
||||
{
|
||||
std::vector<std::string> getAddressReceiveRequests() override {
|
||||
LOCK(m_wallet->cs_wallet);
|
||||
return m_wallet->GetAddressReceiveRequests();
|
||||
}
|
||||
bool setAddressReceiveRequest(const CTxDestination& dest, const std::string& id, const std::string& value) override {
|
||||
LOCK(m_wallet->cs_wallet);
|
||||
WalletBatch batch{m_wallet->GetDatabase()};
|
||||
return m_wallet->AddDestData(batch, dest, key, value);
|
||||
}
|
||||
bool eraseDestData(const CTxDestination& dest, const std::string& key) override
|
||||
{
|
||||
LOCK(m_wallet->cs_wallet);
|
||||
WalletBatch batch{m_wallet->GetDatabase()};
|
||||
return m_wallet->EraseDestData(batch, dest, key);
|
||||
}
|
||||
std::vector<std::string> getDestValues(const std::string& prefix) override
|
||||
{
|
||||
LOCK(m_wallet->cs_wallet);
|
||||
return m_wallet->GetDestValues(prefix);
|
||||
return m_wallet->SetAddressReceiveRequest(batch, dest, id, value);
|
||||
}
|
||||
void lockCoin(const COutPoint& output) override
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user