message: [net processing] Dont request compact blocks in blocks-only mode
diff: @@ -893,6 +893,12 @@ bool PeerManagerImpl::BlockRequested(NodeId nodeid, const CBlockIndex& block, st
  void PeerManagerImpl::MaybeSetPeerAsAnnouncingHeaderAndIDs(NodeId nodeid)
  {
  AssertLockHeld(cs_main);
  +
  + // Never request high-bandwidth mode from peers if we're blocks-only. Our
  + // mempool will not contain the transactions necessary to reconstruct the
  + // compact block.
  + if (m_ignore_incoming_txs) return;
  +
  CNodeState* nodestate = State(nodeid);
  if (!nodestate || !nodestate->fSupportsDesiredCmpctVersion) {
  // Never ask from peers who can't provide witnesses.
  @@ -2179,7 +2185,11 @@ void PeerManagerImpl::ProcessHeadersMessage(CNode& pfrom, const Peer& peer,
  pindexLast->GetBlockHash().ToString(), pindexLast->nHeight);
  }
  if (vGetData.size() > 0) {
  - if (nodestate->fSupportsDesiredCmpctVersion && vGetData.size() == 1 && mapBlocksInFlight.size() == 1 && pindexLast->pprev->IsValid(BLOCK_VALID_CHAIN)) {
  + if (!m_ignore_incoming_txs &&
  + nodestate->fSupportsDesiredCmpctVersion &&
  + vGetData.size() == 1 &&
  + mapBlocksInFlight.size() == 1 &&
  + pindexLast->pprev->IsValid(BLOCK_VALID_CHAIN)) {
  // In any case, we want to download using a compact block, not a regular one
  vGetData[0] = CInv(MSG_CMPCT_BLOCK, vGetData[0].hash);
  }
  