From 47ea70fbb85fefeb4de9d3142a11596d292eab9b Mon Sep 17 00:00:00 2001 From: furszy Date: Mon, 4 Jul 2022 19:57:04 -0300 Subject: wallet: clean AllInputsMine code, use InputIsMine internally Instead of duplicate the exact same code twice. --- src/wallet/receive.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/wallet/receive.cpp b/src/wallet/receive.cpp index 1f76704b93..e0b2264b13 100644 --- a/src/wallet/receive.cpp +++ b/src/wallet/receive.cpp @@ -22,20 +22,8 @@ isminetype InputIsMine(const CWallet& wallet, const CTxIn& txin) bool AllInputsMine(const CWallet& wallet, const CTransaction& tx, const isminefilter& filter) { LOCK(wallet.cs_wallet); - - for (const CTxIn& txin : tx.vin) - { - auto mi = wallet.mapWallet.find(txin.prevout.hash); - if (mi == wallet.mapWallet.end()) - return false; // any unknown inputs can't be from us - - const CWalletTx& prev = (*mi).second; - - if (txin.prevout.n >= prev.tx->vout.size()) - return false; // invalid input! - - if (!(wallet.IsMine(prev.tx->vout[txin.prevout.n]) & filter)) - return false; + for (const CTxIn& txin : tx.vin) { + if (!(InputIsMine(wallet, txin) & filter)) return false; } return true; } -- cgit v1.2.3