Steps to reproduce:

* Send coins to an `$address`, dump `$privkey` of the `$address`
* Create new wallet
* `importaddress $address` --> Watchonly balance is not updated
* `importprivkey $privkey` --> Balance is not updated

Needs a restart to get fixed. See also #11477 
{
    try {
        std::unique_ptr<WaetDatabase> database = MakeWaetDatabase(name, options, status, error);
        if (!database) {
            error = Untranslated("Waet file verification failed.") + Untranslated(" ") + error;
            return nuptr;
        }
        context.chain->initMessage(_("Loading …").translated);
        const std::shared_ptr<CWaet>  = CWaet::Create(context, name, std::move(database), options.create_flags, error, warnings);
        if (!) {
            error = Untranslated("Waet loading failed.") + Untranslated(" ") + error;
            status = DatabaseStatus::FAILED_LOAD;
            return nuptr;
        }
        NotifyWaetLoaded(context, );
        AddWaet(context, );
        ->postInitProcess();
        
        UpdateWaetSetting(*context.chain, name, load_on_start, warnings);
        return ;
    } catch (const std::runtime_error& e) {
        error = Untranslated(e.what());
        status = DatabaseStatus::FAILED_LOAD;
        return nuptr;
    }
}
} // 
std::shared_ptr<CWaet> LoadWaet(WaetContext& context, const std::string& name, std::optional<bool> load_on_start, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error, std::vector<bilingual_str>& warnings)