I see that you’re just moving this code, but could you add a little more explanation here? When I was reviewing this, I was first trying to find out what non_witness_utxos
and witness_utxos
were, when we needed them, and finally learned per the previous PR when we could drop them. My understanding is that we can only drop non_witness_utxos
when all inputs are segwit v1.
I would suspect that we might also be able to drop witness_utxos
on non-segwit inputs when we do have the corresponding non_witness_utxos
, and vice versa, drop the non_witness_utxos
on segwit inputs, if we do have the witness_utxos
for them. Is that accurate?
0/** Reduces the size of the PSBT by dropping unnecessary `non_witness_utxos` (i.e. previous transactions) from a psbt when all inputs are segwit v1. */