@@ -45,9 +45,14 @@ func (dc *DynCommit) Encode(w *bytes.Buffer, _ uint32) error {
4545 if err := WriteSig (w , dc .Sig ); err != nil {
4646 return err
4747 }
48+ producers := dynProposeRecords (& dc .DynPropose )
49+ dc .LocalNonce .WhenSome (
50+ func (rec tlv.RecordT [tlv.TlvType14 , Musig2Nonce ]) {
51+ producers = append (producers , & rec )
52+ })
4853
4954 var extra ExtraOpaqueData
50- err := extra .PackRecords (dynProposeRecords ( & dc . DynPropose ) ... )
55+ err := extra .PackRecords (producers ... )
5156 if err != nil {
5257 return err
5358 }
@@ -82,10 +87,11 @@ func (dc *DynCommit) Decode(r io.Reader, _ uint32) error {
8287 csvDelay := dc .CsvDelay .Zero ()
8388 maxHtlcs := dc .MaxAcceptedHTLCs .Zero ()
8489 chanType := dc .ChannelType .Zero ()
90+ nonce := dc .LocalNonce .Zero ()
8591
8692 typeMap , err := tlvRecords .ExtractRecords (
8793 & dustLimit , & maxValue , & htlcMin , & reserve , & csvDelay , & maxHtlcs ,
88- & chanType ,
94+ & chanType , & nonce ,
8995 )
9096 if err != nil {
9197 return err
@@ -122,6 +128,9 @@ func (dc *DynCommit) Decode(r io.Reader, _ uint32) error {
122128 if val , ok := typeMap [dc .ChannelType .TlvType ()]; ok && val == nil {
123129 dc .ChannelType = tlv .SomeRecordT (chanType )
124130 }
131+ if val , ok := typeMap [dc .LocalNonce .TlvType ()]; ok && val == nil {
132+ dc .LocalNonce = tlv .SomeRecordT (nonce )
133+ }
125134
126135 if len (tlvRecords ) != 0 {
127136 dc .ExtraData = tlvRecords
0 commit comments