BIP375 requires constructors and signers to reject PSBTs that combine silent payment outputs with inputs spending SegWit v2+ outputs.
The reference validator currently performs this check only when the prevout is provided through PSBT_IN_WITNESS_UTXO. BIP174 also permits SegWit inputs to provide the full previous transaction through PSBT_IN_NON_WITNESS_UTXO, so an input containing only that field can currently bypass the SegWit-version check.
Reuse the existing _script_pubkey_from_psbt_input() helper when validating input eligibility. This extracts the referenced scriptPubKey from either UTXO field.
Also add an invalid test vector containing:
- a silent payment output;
- a SegWit v2 prevout supplied only through
PSBT_IN_NON_WITNESS_UTXO; - a matching previous transaction ID and output index.