When calling RPC signrawtransaction
it returns a hex-encoded string that contains the raw tx request with its signatures.
Is this string:
- malleable?
- unique?
signrawtransaction signs all inputs your wallet can sign. As multiple inputs in a transaction can exist, it might be possible that not all inputs are signed.
The signrawtransaction command returns whether the transaction is fully signed or not: https://github.com/bitcoin/bitcoin/blob/0.13/src/rpc/rawtransaction.cpp#L616
If it is fully signed, the output is not malleable.
The output is not unique as is discussed in the comments below.