mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-06-25 00:11:28 +02:00
wallet: GetWalletTx requires cs_wallet lock
This commit is contained in:
parent
ffad348167
commit
a13cafc6c6
@ -276,7 +276,7 @@ std::string COutput::ToString() const
|
|||||||
|
|
||||||
const CWalletTx* CWallet::GetWalletTx(const uint256& hash) const
|
const CWalletTx* CWallet::GetWalletTx(const uint256& hash) const
|
||||||
{
|
{
|
||||||
LOCK(cs_wallet);
|
AssertLockHeld(cs_wallet);
|
||||||
std::map<uint256, CWalletTx>::const_iterator it = mapWallet.find(hash);
|
std::map<uint256, CWalletTx>::const_iterator it = mapWallet.find(hash);
|
||||||
if (it == mapWallet.end())
|
if (it == mapWallet.end())
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@ -1983,6 +1983,7 @@ bool CWalletTx::IsTrusted(std::set<uint256>& trusted_parents) const
|
|||||||
if (!InMempool()) return false;
|
if (!InMempool()) return false;
|
||||||
|
|
||||||
// Trusted if all inputs are from us and are in the mempool:
|
// Trusted if all inputs are from us and are in the mempool:
|
||||||
|
LOCK(pwallet->cs_wallet);
|
||||||
for (const CTxIn& txin : tx->vin)
|
for (const CTxIn& txin : tx->vin)
|
||||||
{
|
{
|
||||||
// Transactions not sent by us: not trusted
|
// Transactions not sent by us: not trusted
|
||||||
|
@ -793,7 +793,7 @@ public:
|
|||||||
/** Interface for accessing chain state. */
|
/** Interface for accessing chain state. */
|
||||||
interfaces::Chain& chain() const { assert(m_chain); return *m_chain; }
|
interfaces::Chain& chain() const { assert(m_chain); return *m_chain; }
|
||||||
|
|
||||||
const CWalletTx* GetWalletTx(const uint256& hash) const;
|
const CWalletTx* GetWalletTx(const uint256& hash) const EXCLUSIVE_LOCKS_REQUIRED(cs_wallet);
|
||||||
|
|
||||||
//! check whether we are allowed to upgrade (or already support) to the named feature
|
//! check whether we are allowed to upgrade (or already support) to the named feature
|
||||||
bool CanSupportFeature(enum WalletFeature wf) const override EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) { AssertLockHeld(cs_wallet); return nWalletMaxVersion >= wf; }
|
bool CanSupportFeature(enum WalletFeature wf) const override EXCLUSIVE_LOCKS_REQUIRED(cs_wallet) { AssertLockHeld(cs_wallet); return nWalletMaxVersion >= wf; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user