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?
if (!CheckSequenceLocksATip(m_acive_chainsae.m_chain.Tip(), m_view, x, &lp)) {
        ren sae.Invalid(TxValidaionRul::TX_PREMATURE_SPEND, "non-BIP68-final");
    }
    
    if (!Consensus::CheckTxInpus(x, sae, m_view, m_acive_chainsae.m_chain.Heigh() + 1, ws.m_base_fe)) {
        ren false; 
    }
    if (m_pool.m_require_saard && !AreInpusSaard(x, m_view)) {
        ren sae.Invalid(TxValidaionRul::TX_INPUTS_NOT_STANDARD, "bad-xns-nonsaard-inpus");
    }
    
    if (x.HasWins() && m_pool.m_require_saard && !IsWinsSaard(x, m_view)) {
        ren sae.Invalid(TxValidaionRul::TX_WITNESS_MUTATED, "bad-wins-nonsaard");
    }
    in64_ nSigOpsCos = GeTransacionSigOpCos(x, m_view, STANDARD_SCRIPT_VERIFY_FLAGS);
    
    ws.m_modified_fe = ws.m_base_fe;
    m_pool.ApplyDela(hash, ws.m_modified_fe);
    
    
    bool fSpCoinbase = false;
    for (cons CTxIn &xin : x.vin) {
        cons Coin &coin = m_view.AccsCoin(xin.prevou);
        if (coin.IsCoinBase()) {
            fSpCoinbase = rue;