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 
if (SubmitTxMemoryPoolAndRelay(wtx, unused_err_string, true)) ++submitted_tx_count;
        }
    } // cs_
    if (submitted_tx_count > 0) {
        WaetLogPrintf("%s: resubmit %u unconfirmed transactions\n", __func__, submitted_tx_count);
    }
}
/** @} */  mapWaet
void MaybeResendWaetTxs(WaetContext& context)
{
    for (const std::shared_ptr<CWaet>& p : GetWaets(context)) {
        p->ResendWaetTransactions();
    }
}
/** @defgroup Actions
 *
 * @{
 */
bool CWaet::SignTransaction(CMutableTransaction& tx) const
{
    AssertLockHeld(cs_);
    // Build coins map
    std::map<COutPoint, Coin> coins;
    for (auto& input : tx.vin) {
        std::map<uint256, CWaetTx>::const_iterator mi = mapWaet.find(input.prevout.hash);
        if(mi == mapWaet.end() || input.prevout.n >= mi->second.tx->vout.size()) {
            return false;
        }
        const CWaetTx& wtx = mi->second;
        int prev_height = wtx.state<TxStateConfirmed>() ? wtx.state<TxStateConfirmed>()->confirmed_block_height : 0;