This variable is unchanged after this line, can capture it in make_output and avoid passing the third variable there.
0diff --git a/src/rpc/mempool.cpp b/src/rpc/mempool.cpp
1index 69366eed8a..6ae6a071f6 100644
2--- a/src/rpc/mempool.cpp
3+++ b/src/rpc/mempool.cpp
4@@ -970,13 +970,13 @@ static RPCHelpMan gettxspendingprevout()
5 prevouts_to_process.emplace_back(txid, static_cast<uint32_t>(nOutput));
6 }
7
8- auto make_output = [](const COutPoint& prevout, const CTransaction* spending_tx = nullptr, const bool add_spending_tx_hex = false) {
9+ auto make_output = [return_spending_tx](const COutPoint& prevout, const CTransaction* spending_tx = nullptr) {
10 UniValue o{UniValue::VOBJ};
11 o.pushKV("txid", prevout.hash.GetHex());
12 o.pushKV("vout", static_cast<int>(prevout.n));
13 if (spending_tx) {
14 o.pushKV("spendingtxid", spending_tx->GetHash().ToString());
15- if (add_spending_tx_hex) {
16+ if (return_spending_tx) {
17 o.pushKV("spendingtx", EncodeHexTx(*spending_tx));
18 }
19 }
20@@ -1002,7 +1002,7 @@ static RPCHelpMan gettxspendingprevout()
21 continue;
22 }
23
24- result.push_back(make_output(prevout, spendingTx, return_spending_tx));
25+ result.push_back(make_output(prevout, spendingTx));
26 it = prevouts_to_process.erase(it);
27 }
28 }
29@@ -1032,7 +1032,7 @@ static RPCHelpMan gettxspendingprevout()
30 continue;
31 }
32
33- UniValue o{make_output(prevout, op_info->tx.get(), return_spending_tx)};
34+ UniValue o{make_output(prevout, op_info->tx.get())};
35 o.pushKV("blockhash", op_info->block_hash.GetHex());
36 result.push_back(std::move(o));
37 }