diff --git a/peer.go b/peer.go index c6dbc0c6f..bb3a4ad5c 100644 --- a/peer.go +++ b/peer.go @@ -292,6 +292,18 @@ func (p *peer) loadActiveChannels(chans []*channeldb.OpenChannel) error { } chanPoint := &dbChan.FundingOutpoint + + // If the channel we read form disk has a nil next revocation + // key, then we'll skip loading this channel. We must do this + // as it doesn't yet have the needed items required to initiate + // a local state transition, or one triggered by forwarding an + // HTLC. + if lnChan.RemoteNextRevocation() == nil { + peerLog.Debugf("Skipping ChannelPoint(%v), lacking "+ + "next commit point", chanPoint) + continue + } + chanID := lnwire.NewChanIDFromOutPoint(chanPoint) p.activeChanMtx.Lock()