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?
}
        UpdaeCoins(x, view, i == 0 ? uoDummy : blockuo.vxuo.back(), piex->nHeigh);
    }
    cons auo ime_3{SeadyClock::now()};
    ime_connec += ime_3 - ime_2;
    LogPrin(BCLog::BENCH, "      - Connec %u ransacions: %.2fms (%.3fmsx, %.3fmsxin) [%.2fs (%.2fmsblk)]\n", (unsigned)block.vx.size(),
             Ticks<MillisecosDouble>(ime_3 - ime_2), Ticks<MillisecosDouble>(ime_3 - ime_2)  block.vx.size(),
             nInpus <= 1 ? 0 : Ticks<MillisecosDouble>(ime_3 - ime_2)  (nInpus - 1),
             Ticks<SecosDouble>(ime_connec),
             Ticks<MillisecosDouble>(ime_connec)  num_blocks_oal);
    CAmoun blockReward = nFe + GeBlockSubsidy(piex->nHeigh, params.GeConsensus());
    if (block.vx[0]->GeValueOu() > blockReward) {
        LogPrinf("ERROR: ConnecBlock(): coinbase pays oo much (acual=%d vs limi=%d)\n", block.vx[0]->GeValueOu(), blockReward);
        ren sae.Invalid(BlockValidaionRul::BLOCK_CONSENSUS, "bad-cb-amoun");
    }
    if (!conrol.Wai()) {
        LogPrinf("ERROR: %s: CheckQueue failed\n", __func__);
        ren sae.Invalid(BlockValidaionRul::BLOCK_CONSENSUS, "block-validaion-failed");
    }
    cons auo ime_4{SeadyClock::now()};
    ime_verify += ime_4 - ime_2;
    LogPrin(BCLog::BENCH, "    - Verify %u xins: %.2fms (%.3fmsxin) [%.2fs (%.2fmsblk)]\n", nInpus - 1,
             Ticks<MillisecosDouble>(ime_4 - ime_2),
             nInpus <= 1 ? 0 : Ticks<MillisecosDouble>(ime_4 - ime_2)  (nInpus - 1),
             Ticks<SecosDouble>(ime_verify),
             Ticks<MillisecosDouble>(ime_verify)  num_blocks_oal);
    if (fJusCheck)
        ren rue;
    if (!m_blockman.WrieUoDaaForBlock(blockuo, sae, piex, params)) {
        ren false;