code: func (msg *MsgTx) Deserialize(r io.Reader) error {
  	// At the current time, there is no difference between the wire encoding
  	// at protocol version 0 and the stable long-term storage format.  As
  	// a result, make use of BtcDecode.
  	return msg.BtcDecode(r, 0, WitnessEncoding)
  }
docs: // Deserialize decodes a transaction from r into the receiver using a format
  // that is suitable for long-term storage such as a database while respecting
  // the Version field in the transaction.  This function differs from BtcDecode
  // in that BtcDecode decodes from the bitcoin wire protocol as it was sent
  // across the network.  The wire encoding can technically differ depending on
  // the protocol version and doesn't even really need to match the format of a
  // stored transaction at all.  As of the time this comment was written, the
  // encoded transaction is the same in both instances, but there is a distinct
  // difference and separating the two allows the API to be flexible enough to
  // deal with changes.