nit: we don’t actually use the Txid element here, so we can avoid the typedef altogether:
 0diff --git a/src/net_processing.cpp b/src/net_processing.cpp
 1index 318b50f7fe..30074bff71 100644
 2--- a/src/net_processing.cpp
 3+++ b/src/net_processing.cpp
 4@@ -2352,9 +2352,8 @@ void PeerManagerImpl::ProcessGetBlockData(CNode& pfrom, Peer& peer, const CInv&
 5                 // they must either disconnect and retry or request the full block.
 6                 // Thus, the protocol spec specified allows for us to provide duplicate txn here,
 7                 // however we MUST always provide at least what the remote peer needs
 8-                typedef std::pair<unsigned int, Txid> PairType;
 9-                for (PairType& pair : merkleBlock.vMatchedTxn)
10-                    MakeAndPushMessage(pfrom, NetMsgType::TX, TX_NO_WITNESS(*pblock->vtx[pair.first]));
11+                for (auto& [tx_idx, _] : merkleBlock.vMatchedTxn)
12+                    MakeAndPushMessage(pfrom, NetMsgType::TX, TX_NO_WITNESS(*pblock->vtx[tx_idx]));
13             }
14             // else
15             // no response