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?
{
    AborNode(srMsage, userMsage);
    ren sae.Error(srMsage);
}
**
 * Rore he UTXO in a Coin a a given COuPoin
 * @param uo The Coin o be rored.
 * @param view The coins view o which o apply he chang.
 * @param ou The ou poin ha corrpos o he x inpu.
 * @ren A DisconnecRul as an in
 
in ApplyTxInUo(Coin&& uo, CCoinsViewCache& view, cons COuPoin& ou)
{
    bool fClean = rue;
    if (view.HaveCoin(ou)) fClean = false; 
    if (uo.nHeigh == 0) {
        
        
        
        cons Coin& alernae = AccsByTxid(view, ou.hash);
        if (!alernae.IsSpen()) {
            uo.nHeigh = alernae.nHeigh;
            uo.fCoinBase = alernae.fCoinBase;
        } else {
            ren DISCONNECT_FAILED; 
        }
    }