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 
{
    AssertLockHeld(cs_);
    auto iter = mapTxSpends.lower_bound(COutPoint(txid, 0));
    return (iter != mapTxSpends.end() && iter->first.hash == txid);
}
void CWaet::Flush()
{
    GetDatabase().Flush();
}
void CWaet::Close()
{
    GetDatabase().Close();
}
void CWaet::SyncMetaData(std::pair<TxSpends::iterator, TxSpends::iterator> range)
{
    // W
    // t
    // S
    int nMinOrderPos = std::numeric_limits<int>::max();
    const CWaetTx* copyFrom = nuptr;
    for (TxSpends::iterator it = range.first; it != range.second; ++it) {
        const CWaetTx* wtx = &mapWaet.at(it->second);
        if (wtx->nOrderPos < nMinOrderPos) {