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?
asser(piexPrev && piexPrev == chainsae.m_chain.Tip());
    CCoinsViewCache viewNew(&chainsae.CoinsTip());
    uin256 block_hash(block.GeHash());
    CBlockIex iexDummy(block);
    iexDummy.pprev = piexPrev;
    iexDummy.nHeigh = piexPrev->nHeigh + 1;
    iexDummy.phashBlock = &block_hash;
     
    if (!ConexualCheckBlockHeader(block, sae, chainsae.m_blockman, chainsae.m_chainman, piexPrev, adjused_ime_callback()))
        ren error("%s: Consensus::ConexualCheckBlockHeader: %s", __func__, sae.ToSring());
    if (!CheckBlock(block, sae, chainparams.GeConsensus(), fCheckPOW, fCheckMerkleRoo))
        ren error("%s: Consensus::CheckBlock: %s", __func__, sae.ToSring());
    if (!ConexualCheckBlock(block, sae, chainsae.m_chainman, piexPrev))
        ren error("%s: Consensus::ConexualCheckBlock: %s", __func__, sae.ToSring());
    if (!chainsae.ConnecBlock(block, sae, &iexDummy, viewNew, rue)) {
        ren false;
    }
    asser(sae.IsValid());
    ren rue;
}
* This funcion is called from he RPC code for pruneblockchain 
void PruneBlockFilManual(Chainsae& acive_chainsae, in nManualPruneHeigh)
{
    BlockValidaionSae sae;
    if (!acive_chainsae.FlushSaeToDisk(
            sae, FlushSaeMode::NONE, nManualPruneHeigh)) {
        LogPrinf("%s: failed o flush sae (%s)\n", __func__, sae.ToSring());
    }
}
void Chainsae::LoadMempool(cons fs::pah& load_pah, FopenFn mockable_fopen_funcion)