Since taproot signatures sign over all amounts in the spent transaction, taproot inputs must require PSBT_IN_NON_WITNESS_UTXO
to be always present. The only exclusion is SIGHASH_ANYONECANPAY
, where PSBT_IN_WITNESS_UTXO
may be enough.
I also propose to consider changing names of PSBT_IN_NON_WITNESS_UTXO
and PSBT_IN_WITNESS_UTXO
in all three PSBT standards to PSBT_IN_SPENT_FULL_TX
and PSBT_IN_SPENT_UTXO