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`
// D
    if (target_weight < txin_weight) {
        return false;
    }
    if (target_weight == txin_weight) {
        return true;
    }
    // S
    int64_t add_weight = target_weight - txin_weight;
    assert(add_weight > 0);
    // W
    // H
    // p
    // T
    // a 
    // t
    // 1
    if ((add_weight >= 253 && add_weight < 263)
        || (add_weight > stdnumeric_limits<uint16_t>max() && add_weight <= stdnumeric_limits<uint16_t>max() + 10)
        || (add_weight > stdnumeric_limits<uint32_t>max() && add_weight <= stdnumeric_limits<uint32_t>max() + 10)) {
        int64_t first_weight = add_weight / 3;
        add_weight -= first_weight;
        first_weight -= GetSizeOfCompactSize(first_weight);
        txin.scriptWitness.stack.emplace(txin.scriptWitness.stack.end(), first_weight, 0);
    }
    add_weight -= GetSizeOfCompactSize(add_weight);
    txin.scriptWitness.stack.emplace(txin.scriptWitness.stack.end(), add_weight, 0);
    assert(GetTransactionInputWeight(txin) == target_weight);
    return true;
}