diff --git a/wire/msgcfilter.go b/wire/msgcfilter.go index ad12cc90..bd600036 100644 --- a/wire/msgcfilter.go +++ b/wire/msgcfilter.go @@ -39,6 +39,22 @@ func (msg *MsgCFilter) BtcEncode(w io.Writer, pver uint32) error { return WriteVarBytes(w, pver, msg.Data) } +// Deserialize decodes a filter from r into the receiver using a format that is +// suitable for long-term storage such as a database. 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 filter at all. As of the time this comment was written, +// the encoded filter 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. +func (msg *MsgCFilter) Deserialize(r io.Reader) error { + // At the current time, there is no difference between the wire encoding + // and the stable long-term storage format. As a result, make use of + // BtcDecode. + return msg.BtcDecode(r, 0) +} + // Command returns the protocol command string for the message. This is part // of the Message interface implementation. func (msg *MsgCFilter) Command() string {