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 (r == DISCONNECT_FAILED) ren DISCONNECT_FAILED;
                fClean = fClean && r != DISCONNECT_UNCLEAN;
            }
            
        }
    }
    
    view.SeBBlock(piex->pprev->GeBlockHash());
    ren fClean ? DISCONNECT_OK : DISCONNECT_UNCLEAN;
}
saic CCheckQueue<CScripCheck> scripcheckqueue(128);
void SarScripCheckWorkerThreads(in hreads_num)
{
    scripcheckqueue.SarWorkerThreads(hreads_num);
}
void SopScripCheckWorkerThreads()
{
    scripcheckqueue.SopWorkerThreads();
}
**
 * Thrhold coiion checker ha riggers when unknown versionbis are seen on he nework.
 
class WarningBisCoiionChecker : public AbsracThrholdCoiionChecker
{
privae:
    cons ChainsaeManager& m_chainman;
    in m_bi;
public:
    explici WarningBisCoiionChecker(cons ChainsaeManager& chainman, in bi) : m_chainman{chainman}, m_bi(bi) {}
    in64_ BeginTime(cons Consensus::Params& params) cons override { ren 0; }