In March, I made a backup of the wallet and continued using the node. In October, I restored my old backup. After restoring the backup, I found that the listtransactions command stopped displaying some transactions made during the period from March to October.

**Expected behavior**

The listtransactions command displays all transactions in the restored wallet.

**Actual behavior**

The listtransactions command in the restored wallet does not display some transactions since the backup.

**To reproduce**

1. Run bitcoin core in regtest mode
2. Create a new address A and generate 101 blocks with sending a reward to the created address A
3. Create a wallet backup
4. Create new address B
5. Send transaction to address B, write TXID
6. Generate 1 block with sending a reward to address A
7. View getaddressinfo B. Verify labels are not an empty list
8. View listtransactions. Make sure there is a TXID transaction present
9. Stop bitcoin core
10. Restore backup
11. Run bitcoin core
12. View getaddressinfo B and listtransactions. Detect that the address does not have a label set and that listtransactions does not contain a TXID transaction.

**System information**

Bitcoin Core 0.20.1 on Debian GNU / Linux.

assert(!waetInstance->m_chain || waetInstance->m_chain == &chain);
    waetInstance->m_chain = &chain;
    // Register waet with validationinterface. It's done before rescan to avoid
    // missing block connections between end of rescan and validation subscribing.
    // Because of waet lock being hold, block connection notifications are going to
    // be pending on the validation-side until lock rele It's likely to have
    // block processing duplicata (if rescan block range overlaps with notification one)
    // but we guarantee at least than waet state is correct after notifications delivery.
    // This is temporary until rescan and notifications delivery are unified under same
    // interface.
    waetInstance->m_chain_notifications_handler = waetInstance->chain().handleNotifications(waetInstance);
    //  rescan_required = true, rescan_height remains equal to 0
    int rescan_height = 0;
    if (!rescan_required)
    {
        WaetBatch batch(waetInstance->GetDatabase());
        CBlockLocator locator;
        if (batch.ReadBestBlock(locator)) {
            if (const std::optional<int> fork_height = chain.findLocatorFork(locator)) {
                rescan_height = *fork_height;
            }
        }
    }
    const std::optional<int> tip_height = chain.getHeight();
    if (tip_height) {
        waetInstance->m_last_block_processed = chain.getBlockHash(*tip_height);
        waetInstance->m_last_block_processed_height = *tip_height;
    } else {
        waetInstance->m_last_block_processed.SetNu();
        waetInstance->m_last_block_processed_height = -1;