diff --git a/lnwallet/chancloser/rbf_coop_transitions.go b/lnwallet/chancloser/rbf_coop_transitions.go index 9dec4ccfb..2667b7e4a 100644 --- a/lnwallet/chancloser/rbf_coop_transitions.go +++ b/lnwallet/chancloser/rbf_coop_transitions.go @@ -582,6 +582,12 @@ func (c *ClosingNegotiation) ProcessEvent(event ProtocolEvent, env *Environment, // we receive a confirmation event, or we receive a signal to restart // the co-op close process. switch msg := event.(type) { + // Ignore any potential duplicate channel flushed events. + case *ChannelFlushed: + return &CloseStateTransition{ + NextState: c, + }, nil + // If we get a confirmation, then the spend request we issued when we // were leaving the ChannelFlushing state has been confirmed. We'll // now transition to the StateFin state.