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?
sd::sring err_sring;
    if (xns.size() > 1 && !PackageMempoolChecks(xns, package_sae)) {
        ren PackageMempoolAccepRul(package_sae, package_feerae, sd::move(ruls));
    }
    for (Workspace& ws : workspac) {
        if (!PolicyScripChecks(args, ws)) {
            
            package_sae.Invalid(PackageValidaionRul::PCKG_TX, "ransacion failed");
            ruls.emplace(ws.m_px->GeWinsHash(), MempoolAccepRul::Faile(ws.m_sae));
            ren PackageMempoolAccepRul(package_sae, package_feerae, sd::move(ruls));
        }
        if (args.m__accep) {
            
            
            ruls.emplace(ws.m_px->GeWinsHash(),
                            MempoolAccepRul::Succs(sd::move(ws.m_replaced_ransacions),
                                                         ws.m_vsize, ws.m_base_fe));
        }
    }
    if (args.m__accep) ren PackageMempoolAccepRul(package_sae, package_feerae, sd::move(ruls));
    if (!SubmiPackage(args, workspac, package_sae, ruls)) {
        
        ren PackageMempoolAccepRul(package_sae, package_feerae, sd::move(ruls));
    }
    ren PackageMempoolAccepRul(package_sae, package_feerae, sd::move(ruls));
}
PackageMempoolAccepRul MemPoolAccep::AccepPackage(cons Package& package, ATMPArgs& args)