mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 15:09:59 +01:00
Make GUI UTXO lock/unlock persistent
This commit is contained in:
@@ -122,7 +122,7 @@ public:
|
|||||||
virtual bool displayAddress(const CTxDestination& dest) = 0;
|
virtual bool displayAddress(const CTxDestination& dest) = 0;
|
||||||
|
|
||||||
//! Lock coin.
|
//! Lock coin.
|
||||||
virtual bool lockCoin(const COutPoint& output) = 0;
|
virtual bool lockCoin(const COutPoint& output, const bool write_to_db) = 0;
|
||||||
|
|
||||||
//! Unlock coin.
|
//! Unlock coin.
|
||||||
virtual bool unlockCoin(const COutPoint& output) = 0;
|
virtual bool unlockCoin(const COutPoint& output) = 0;
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ void CoinControlDialog::lockCoin()
|
|||||||
contextMenuItem->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
|
contextMenuItem->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked);
|
||||||
|
|
||||||
COutPoint outpt(uint256S(contextMenuItem->data(COLUMN_ADDRESS, TxHashRole).toString().toStdString()), contextMenuItem->data(COLUMN_ADDRESS, VOutRole).toUInt());
|
COutPoint outpt(uint256S(contextMenuItem->data(COLUMN_ADDRESS, TxHashRole).toString().toStdString()), contextMenuItem->data(COLUMN_ADDRESS, VOutRole).toUInt());
|
||||||
model->wallet().lockCoin(outpt);
|
model->wallet().lockCoin(outpt, /* write_to_db = */ true);
|
||||||
contextMenuItem->setDisabled(true);
|
contextMenuItem->setDisabled(true);
|
||||||
contextMenuItem->setIcon(COLUMN_CHECKBOX, platformStyle->SingleColorIcon(":/icons/lock_closed"));
|
contextMenuItem->setIcon(COLUMN_CHECKBOX, platformStyle->SingleColorIcon(":/icons/lock_closed"));
|
||||||
updateLabelLocked();
|
updateLabelLocked();
|
||||||
|
|||||||
@@ -214,15 +214,17 @@ public:
|
|||||||
LOCK(m_wallet->cs_wallet);
|
LOCK(m_wallet->cs_wallet);
|
||||||
return m_wallet->DisplayAddress(dest);
|
return m_wallet->DisplayAddress(dest);
|
||||||
}
|
}
|
||||||
bool lockCoin(const COutPoint& output) override
|
bool lockCoin(const COutPoint& output, const bool write_to_db) override
|
||||||
{
|
{
|
||||||
LOCK(m_wallet->cs_wallet);
|
LOCK(m_wallet->cs_wallet);
|
||||||
return m_wallet->LockCoin(output);
|
std::unique_ptr<WalletBatch> batch = write_to_db ? std::make_unique<WalletBatch>(m_wallet->GetDatabase()) : nullptr;
|
||||||
|
return m_wallet->LockCoin(output, batch.get());
|
||||||
}
|
}
|
||||||
bool unlockCoin(const COutPoint& output) override
|
bool unlockCoin(const COutPoint& output) override
|
||||||
{
|
{
|
||||||
LOCK(m_wallet->cs_wallet);
|
LOCK(m_wallet->cs_wallet);
|
||||||
return m_wallet->UnlockCoin(output);
|
std::unique_ptr<WalletBatch> batch = std::make_unique<WalletBatch>(m_wallet->GetDatabase());
|
||||||
|
return m_wallet->UnlockCoin(output, batch.get());
|
||||||
}
|
}
|
||||||
bool isLockedCoin(const COutPoint& output) override
|
bool isLockedCoin(const COutPoint& output) override
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user