From d6fa2f90925b543df22503e1edaf75b5c3bb1e77 Mon Sep 17 00:00:00 2001 From: Conner Fromknecht Date: Fri, 10 Apr 2020 16:23:49 -0700 Subject: [PATCH] peer: filter channels loaded into switch via whitelist This is less brittle than blacklisting states since it may not be clear that new states needs to be added. Now that HasChanStatus is fixed for ChanStatusDefault, we can safely implement this. --- peer.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/peer.go b/peer.go index 492c8f04..c6e2ae02 100644 --- a/peer.go +++ b/peer.go @@ -504,13 +504,9 @@ func (p *peer) loadActiveChannels(chans []*channeldb.OpenChannel) ( // Skip adding any permanently irreconcilable channels to the // htlcswitch. switch { - case dbChan.HasChanStatus(channeldb.ChanStatusBorked): - fallthrough - case dbChan.HasChanStatus(channeldb.ChanStatusCommitBroadcasted): - fallthrough - case dbChan.HasChanStatus(channeldb.ChanStatusCoopBroadcasted): - fallthrough - case dbChan.HasChanStatus(channeldb.ChanStatusLocalDataLoss): + case !dbChan.HasChanStatus(channeldb.ChanStatusDefault) && + !dbChan.HasChanStatus(channeldb.ChanStatusRestored): + peerLog.Warnf("ChannelPoint(%v) has status %v, won't "+ "start.", chanPoint, dbChan.ChanStatus())