diff --git a/wire/msgcfilterheader.go b/wire/msgcfilterheader.go index ce8d102a..ca4908e9 100644 --- a/wire/msgcfilterheader.go +++ b/wire/msgcfilterheader.go @@ -41,6 +41,22 @@ func (msg *MsgCFilterHeader) BtcEncode(w io.Writer, pver uint32) error { return WriteVarBytes(w, pver, msg.Data) } +// Deserialize decodes a filter header 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 header at all. As of the time +// this comment was written, the encoded filter header 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 *MsgCFilterHeader) 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 *MsgCFilterHeader) Command() string {