diff --git a/docs/release-notes/release-notes-0.21.0.md b/docs/release-notes/release-notes-0.21.0.md index 13e0484872..078765608e 100644 --- a/docs/release-notes/release-notes-0.21.0.md +++ b/docs/release-notes/release-notes-0.21.0.md @@ -45,12 +45,18 @@ has been removed from the public key parsing methods, and proper mutex protection has been added to the cache access in `DisconnectBlockAtHeight`. -- [Fixed TLV decoders to reject malformed records with incorrect lengths](https://github.com/lightningnetwork/lnd/pull/10249). +- [Fixed TLV decoders to reject malformed records with incorrect lengths](https://github.com/lightningnetwork/lnd/pull/10249). TLV decoders now strictly enforce fixed-length requirements for Fee (8 bytes), Musig2Nonce (66 bytes), ShortChannelID (8 bytes), Vertex (33 bytes), and DBytes33 (33 bytes) records, preventing malformed TLV data from being accepted. +- [Fixed `MarkCoopBroadcasted` to correctly use the `local` + parameter](https://github.com/lightningnetwork/lnd/pull/10532). The method was + ignoring the `local` parameter and always marking cooperative close + transactions as locally initiated, even when they were initiated by the remote + peer. + # New Features - Basic Support for [onion messaging forwarding](https://github.com/lightningnetwork/lnd/pull/9868) diff --git a/peer/chan_observer.go b/peer/chan_observer.go index 7570bcf4bd..dcdc3c3cef 100644 --- a/peer/chan_observer.go +++ b/peer/chan_observer.go @@ -119,7 +119,12 @@ func (l *chanObserver) DisableOutgoingAdds() error { // MarkCoopBroadcasted persistently marks that the channel close transaction // has been broadcast. func (l *chanObserver) MarkCoopBroadcasted(tx *wire.MsgTx, local bool) error { - return l.chanView.MarkCoopBroadcasted(tx, lntypes.Local) + party := lntypes.Remote + if local { + party = lntypes.Local + } + + return l.chanView.MarkCoopBroadcasted(tx, party) } // MarkShutdownSent persists the given ShutdownInfo. The existence of the