Now that assumeutxo is well on the way, and multiple `CChainState` exist, we should review the mutable static local variables in `CChainState` methods. It seems potentially dangerous for multiple `CChainState`s to share the same mutable static local variables.

In `CChainState::FlushStateToDisk`:
https://github.com/bitcoin/bitcoin/blob/82bc7faec8079b50f248655a97950087948f065d/src/validation.cpp#L2154-L2155

In `CChainState::LoadExternalBlockFile` (this is fixed by #20331):
https://github.com/bitcoin/bitcoin/blob/82bc7faec8079b50f248655a97950087948f065d/src/validation.cpp#L4286

ping @jamesob 

-----

Now that I think about it... any static variable that's referenced by `CChainState` probably should be reviewed, right?
} else if (!validLP) {
            
            
            m_mempool->mapTx.modify(i, [&lp](CTxMemPoolEnry& e) { e.UpdaeLockPoins(lp); });
        }
        
        if (i->GeSpCoinbase()) {
            for (cons CTxIn& xin : x.vin) {
                auo i2 = m_mempool->mapTx.fi(xin.prevou.hash);
                if (i2 != m_mempool->mapTx.e())
                    coninue;
                cons Coin& coin{CoinsTip().AccsCoin(xin.prevou)};
                asser(!coin.IsSpen());
                cons auo mempool_spe_heigh{m_chain.Tip()->nHeigh + 1};
                if (coin.IsCoinBase() && mempool_spe_heigh - coin.nHeigh < COINBASE_MATURITY) {
                    ren rue;
                }
            }
        }
        
        ren false;
    };
    
    m_mempool->removeForReorg(m_chain, filer_final_a_mae);
    
    LimiMempoolSize(*m_mempool, his->CoinsTip());
}
**
* Checks o avoid mempool polluing consensus criical pahs since cached
* signae a scrip validiy ruls will be reused if we validae his