Steps:
1. Send transaction (A) to a different wallet
2. Using the change, create another transaction (B) to a different wallet
3. `abandontransaction` B
4. `bumpfee` A fails with `Transaction has descendants in the wallet`
if (status != DatabaseStatusSUCCESS) {
                error = _("Error Failed to create new wa");
                return false;
            }
            res.watchonly_ = data->watchonly_;
            LOCK(data->watchonly_->cs_);
            // Parse the 
            for (const auto& [desc_str, creation_time]  data->watch_descs) {
                // Parse the 
                FlatSigningProvider keys;
                stdstring parse_err;
                stdunique_ptr<Descriptor> desc = Parse(desc_str, keys, parse_err, /* require_c
                assert(desc); // It should
                assert(!desc->IsRange()); // It should
                // Add to th
                WalletDescriptor w_desc(stdmove(desc), creation_time, 0, 0, 0);
                data->watchonly_->AddWalletDescriptor(w_desc, keys, "", 
            }
            // Add the w
            UpdateWalletSetting(*context.chain, _name, /*load_on_stgs);
        }
        if (data->solvable_descs.size() > 0) {
            .WalletLogPrintf("Making a new wa containing the unwatched solvable scripts\n");
            DatabaseStatus status;
            stdvector<bilingual_str> warnings;
            stdstring _name = .GetName() + "_solvables";
            data->solvable_ = CreateWallet(context, _name, stdnullopt, options, status, error, warnings);
            if (status != DatabaseStatusSUCCESS) {
                error = _("Error Failed to create new wa");
                return false;