The Trade protocol spec must make clear that the inputs of a partial transaction sent within a TradePropose message must contain the RedeemScript/WitnessScript for every P2SH/P2WSH input.
This is because by design the daemon is in charge of adding the network fees and without these info, it simply cannot do its job correctly.
Making this explicit forces both parties to make sure that the constrain is respected:
the daemon must reject the partial transaction because it's malformed in case its partial inputs miss those fields
the client must enforce this condition to sanitize the transaction before making a TradePropose request
The Trade protocol spec must make clear that the inputs of a partial transaction sent within a TradePropose message must contain the RedeemScript/WitnessScript for every P2SH/P2WSH input.
This is because by design the daemon is in charge of adding the network fees and without these info, it simply cannot do its job correctly.
Making this explicit forces both parties to make sure that the constrain is respected: