From 8dea74a8ff8f5d3fdf6602c0eaa0fcc5877fc569 Mon Sep 17 00:00:00 2001 From: furszy Date: Thu, 19 May 2022 09:59:28 -0300 Subject: refactor: use GetWalletTx in SelectCoins instead of access mapWallet --- src/wallet/spend.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/wallet/spend.cpp b/src/wallet/spend.cpp index 0d3107e063..6119a047d6 100644 --- a/src/wallet/spend.cpp +++ b/src/wallet/spend.cpp @@ -441,15 +441,14 @@ std::optional SelectCoins(const CWallet& wallet, const std::vec for (const COutPoint& outpoint : vPresetInputs) { int input_bytes = -1; CTxOut txout; - std::map::const_iterator it = wallet.mapWallet.find(outpoint.hash); - if (it != wallet.mapWallet.end()) { - const CWalletTx& wtx = it->second; + auto ptr_wtx = wallet.GetWalletTx(outpoint.hash); + if (ptr_wtx) { // Clearly invalid input, fail - if (wtx.tx->vout.size() <= outpoint.n) { + if (ptr_wtx->tx->vout.size() <= outpoint.n) { return std::nullopt; } - input_bytes = GetTxSpendSize(wallet, wtx, outpoint.n, false); - txout = wtx.tx->vout.at(outpoint.n); + input_bytes = GetTxSpendSize(wallet, *ptr_wtx, outpoint.n, false); + txout = ptr_wtx->tx->vout.at(outpoint.n); } else { // The input is external. We did not find the tx in mapWallet. if (!coin_control.GetExternalOutput(outpoint, txout)) { -- cgit v1.2.3