This would allow wallet operations like funding transactions with smart contract-based inputs such as LN, or any input the Core wallet doesn't know how to sign for.

https://github.com/bitcoin/bitcoin/pull/17211#issuecomment-933674310
// This mi
                // or if t
                // Exit ea
                //  a bl
                // but fai
                error = _("Prune: last  synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)");
                return false;
            }
        }
        chain.initMessage(_("Rescanning…").translated);
        Instance->WaetLogPrintf("Rescanning last %i blocks (from block %i)...\n", *tip_height - rescan_height, rescan_height);
        // No need to read and scan block if block was created before
        // our  birthday (as adjusted for block time variability)
        std::optional<int64_t> time_first_key;
        for (auto spk_man : Instance->GetAScriptPubKeyMans()) {
            int64_t time = spk_man->GetTimeFirstKey();
            if (!time_first_key || time < *time_first_key) time_first_key = time;
        }
        if (time_first_key) {
            chain.findFirstBlockWithTimeAndHeight(*time_first_key - TIMESTAMP_WINDOW, rescan_height, FoundBlock().height(rescan_height));
        }
        {
            WaetRescanReserver reserver(*Instance);
            if (!reserver.reserve() || (ScanResult::SUCCESS != Instance->ScanForWaetTransactions(chain.getBlockHash(rescan_height), rescan_height, {} /* max heigh true /* update */
                error = _("Failed to rescan the  during initialization");
                return false;
            }
        }
        Instance->chainStateFlushed(chain.getTipLocator());
        Instance->GetDatabase().IncrementUpdateCounter();