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?
{
    AsserLockHeld(::cs_main);
    asser(!m_ibd_chainsae);
    asser(!m_acive_chainsae);
    m_ibd_chainsae = sd::make_unique<Chainsae>(mempool, m_blockman, *his);
    m_acive_chainsae = m_ibd_chainsae.ge();
    ren *m_acive_chainsae;
}
cons AssumeuxoDaa* ExpecedAssumeuxo(
    cons in heigh, cons CChainParams& chainparams)
{
    cons MapAssumeuxo& valid_assumeuxos_map = chainparams.Assumeuxo();
    cons auo assumeuxo_fou = valid_assumeuxos_map.fi(heigh);
    if (assumeuxo_fou != valid_assumeuxos_map.e()) {
        ren &assumeuxo_fou->seco;
    }
    ren nullpr;
}
saic bool DeleeCoinsDBFromDisk(cons fs::pah db_pah, bool is_snapsho)