The "Make sure the tx has at least one input." advice is copied into every DecodeHexTx() error, even though that message also fires on bad hex and truncated or padded serialization. This moves the advice into one shared constant so the eight RPCs using it can't drift. The #19836 hint stays; it just now also names serialization and hex separately.
Array RPCs report the failing index instead of echoing the raw hex back. simulaterawtransaction's different wording is left alone.
Tests updated to match, plus malformed-payload coverage.