diff --git a/channeldb/channel.go b/channeldb/channel.go index a4608387b..6c3a362a4 100644 --- a/channeldb/channel.go +++ b/channeldb/channel.go @@ -316,6 +316,10 @@ type OpenChannel struct { // for normal transactional use. NumConfsRequired uint16 + // ChannelFlags holds the flags that were sent as part of the + // open_channel message. + ChannelFlags lnwire.FundingFlag + // IdentityPub is the identity public key of the remote node this // channel has been established with. IdentityPub *btcec.PublicKey @@ -1442,8 +1446,8 @@ func putChanInfo(chanBucket *bolt.Bucket, channel *OpenChannel) error { channel.ChanType, channel.ChainHash, channel.FundingOutpoint, channel.ShortChanID, channel.IsPending, channel.IsInitiator, channel.FundingBroadcastHeight, channel.NumConfsRequired, - channel.IdentityPub, channel.Capacity, channel.TotalMSatSent, - channel.TotalMSatReceived, + channel.ChannelFlags, channel.IdentityPub, channel.Capacity, + channel.TotalMSatSent, channel.TotalMSatReceived, ); err != nil { return err } @@ -1542,8 +1546,8 @@ func fetchChanInfo(chanBucket *bolt.Bucket, channel *OpenChannel) error { &channel.ChanType, &channel.ChainHash, &channel.FundingOutpoint, &channel.ShortChanID, &channel.IsPending, &channel.IsInitiator, &channel.FundingBroadcastHeight, &channel.NumConfsRequired, - &channel.IdentityPub, &channel.Capacity, &channel.TotalMSatSent, - &channel.TotalMSatReceived, + &channel.ChannelFlags, &channel.IdentityPub, &channel.Capacity, + &channel.TotalMSatSent, &channel.TotalMSatReceived, ); err != nil { return err } diff --git a/channeldb/codec.go b/channeldb/codec.go index 77b0236c9..5db6dd908 100644 --- a/channeldb/codec.go +++ b/channeldb/codec.go @@ -135,6 +135,10 @@ func writeElement(w io.Writer, element interface{}) error { if err := binary.Write(w, byteOrder, e); err != nil { return err } + case lnwire.FundingFlag: + if err := binary.Write(w, byteOrder, e); err != nil { + return err + } default: return fmt.Errorf("Unknown type in writeElement: %T", e) @@ -287,6 +291,10 @@ func readElement(r io.Reader, element interface{}) error { if err := binary.Read(r, byteOrder, e); err != nil { return err } + case *lnwire.FundingFlag: + if err := binary.Read(r, byteOrder, e); err != nil { + return err + } default: return fmt.Errorf("Unknown type in readElement: %T", e)