From ec784db511edfc8182fbb5d252b2ac22fbfd310a Mon Sep 17 00:00:00 2001 From: Conner Fromknecht Date: Thu, 2 Apr 2020 17:39:29 -0700 Subject: [PATCH] multi: remove returned error from WipeChannel The linter complains about not checking the return value from WipeChannel in certain places. Instead of checking we simply remove the returned error because the in-memory modifications cannot fail. --- discovery/mock_test.go | 4 ++-- fundingmanager_test.go | 4 +--- htlcswitch/link.go | 6 +----- htlcswitch/link_test.go | 4 +--- htlcswitch/mock.go | 4 +--- lnpeer/peer.go | 2 +- peer.go | 24 ++++-------------------- rpcserver.go | 5 +---- 8 files changed, 12 insertions(+), 41 deletions(-) diff --git a/discovery/mock_test.go b/discovery/mock_test.go index f3f707d5..714f6b4a 100644 --- a/discovery/mock_test.go +++ b/discovery/mock_test.go @@ -45,8 +45,8 @@ func (p *mockPeer) SendMessageLazy(sync bool, msgs ...lnwire.Message) error { func (p *mockPeer) AddNewChannel(_ *channeldb.OpenChannel, _ <-chan struct{}) error { return nil } -func (p *mockPeer) WipeChannel(_ *wire.OutPoint) error { return nil } -func (p *mockPeer) IdentityKey() *btcec.PublicKey { return p.pk } +func (p *mockPeer) WipeChannel(_ *wire.OutPoint) {} +func (p *mockPeer) IdentityKey() *btcec.PublicKey { return p.pk } func (p *mockPeer) PubKey() [33]byte { var pubkey [33]byte copy(pubkey[:], p.pk.SerializeCompressed()) diff --git a/fundingmanager_test.go b/fundingmanager_test.go index f1ff528d..c7247136 100644 --- a/fundingmanager_test.go +++ b/fundingmanager_test.go @@ -201,9 +201,7 @@ func (n *testNode) SendMessageLazy(sync bool, msgs ...lnwire.Message) error { return n.SendMessage(sync, msgs...) } -func (n *testNode) WipeChannel(_ *wire.OutPoint) error { - return nil -} +func (n *testNode) WipeChannel(_ *wire.OutPoint) {} func (n *testNode) QuitSignal() <-chan struct{} { return n.shutdownChannel diff --git a/htlcswitch/link.go b/htlcswitch/link.go index d91bc856..6eec8d38 100644 --- a/htlcswitch/link.go +++ b/htlcswitch/link.go @@ -1084,11 +1084,7 @@ out: // TODO(roasbeef): remove all together go func() { chanPoint := l.channel.ChannelPoint() - err := l.cfg.Peer.WipeChannel(chanPoint) - if err != nil { - l.log.Errorf("unable to wipe channel "+ - "%v", err) - } + l.cfg.Peer.WipeChannel(chanPoint) }() break out diff --git a/htlcswitch/link_test.go b/htlcswitch/link_test.go index d150ddc5..965ecdb2 100644 --- a/htlcswitch/link_test.go +++ b/htlcswitch/link_test.go @@ -1652,9 +1652,7 @@ func (m *mockPeer) AddNewChannel(_ *channeldb.OpenChannel, _ <-chan struct{}) error { return nil } -func (m *mockPeer) WipeChannel(*wire.OutPoint) error { - return nil -} +func (m *mockPeer) WipeChannel(*wire.OutPoint) {} func (m *mockPeer) PubKey() [33]byte { return [33]byte{} } diff --git a/htlcswitch/mock.go b/htlcswitch/mock.go index 0c7f1ed8..cefb673a 100644 --- a/htlcswitch/mock.go +++ b/htlcswitch/mock.go @@ -602,9 +602,7 @@ func (s *mockServer) AddNewChannel(channel *channeldb.OpenChannel, return nil } -func (s *mockServer) WipeChannel(*wire.OutPoint) error { - return nil -} +func (s *mockServer) WipeChannel(*wire.OutPoint) {} func (s *mockServer) LocalFeatures() *lnwire.FeatureVector { return nil diff --git a/lnpeer/peer.go b/lnpeer/peer.go index 53f57131..1b118bfb 100644 --- a/lnpeer/peer.go +++ b/lnpeer/peer.go @@ -30,7 +30,7 @@ type Peer interface { // WipeChannel removes the channel uniquely identified by its channel // point from all indexes associated with the peer. - WipeChannel(*wire.OutPoint) error + WipeChannel(*wire.OutPoint) // PubKey returns the serialized public key of the remote peer. PubKey() [33]byte diff --git a/peer.go b/peer.go index df77c4fd..5cd431c8 100644 --- a/peer.go +++ b/peer.go @@ -2401,13 +2401,7 @@ func (p *peer) handleLocalCloseReq(req *htlcswitch.ChanClose) { // TODO(roasbeef): no longer need with newer beach logic? peerLog.Infof("ChannelPoint(%v) has been breached, wiping "+ "channel", req.ChanPoint) - if err := p.WipeChannel(req.ChanPoint); err != nil { - peerLog.Infof("Unable to wipe channel after detected "+ - "breach: %v", err) - req.Err <- err - return - } - return + p.WipeChannel(req.ChanPoint) } } @@ -2434,11 +2428,7 @@ func (p *peer) handleLinkFailure(failure linkFailureReport) { // link and cancel back any adds in its mailboxes such that we can // safely force close without the link being added again and updates // being applied. - if err := p.WipeChannel(&failure.chanPoint); err != nil { - peerLog.Errorf("Unable to wipe link for chanpoint=%v", - failure.chanPoint) - return - } + p.WipeChannel(&failure.chanPoint) // If the error encountered was severe enough, we'll now force close the // channel to prevent readding it to the switch in the future. @@ -2490,11 +2480,7 @@ func (p *peer) finalizeChanClosure(chanCloser *channelCloser) { // First, we'll clear all indexes related to the channel in question. chanPoint := chanCloser.cfg.channel.ChannelPoint() - if err := p.WipeChannel(chanPoint); err != nil { - if closeReq != nil { - closeReq.Err <- err - } - } + p.WipeChannel(chanPoint) // Next, we'll launch a goroutine which will request to be notified by // the ChainNotifier once the closure transaction obtains a single @@ -2584,7 +2570,7 @@ func waitForChanToClose(bestHeight uint32, notifier chainntnfs.ChainNotifier, // WipeChannel removes the passed channel point from all indexes associated with // the peer, and the switch. -func (p *peer) WipeChannel(chanPoint *wire.OutPoint) error { +func (p *peer) WipeChannel(chanPoint *wire.OutPoint) { chanID := lnwire.NewChanIDFromOutPoint(chanPoint) p.activeChanMtx.Lock() @@ -2594,8 +2580,6 @@ func (p *peer) WipeChannel(chanPoint *wire.OutPoint) error { // Instruct the HtlcSwitch to close this link as the channel is no // longer active. p.server.htlcSwitch.RemoveLink(chanID) - - return nil } // handleInitMsg handles the incoming init message which contains global and diff --git a/rpcserver.go b/rpcserver.go index c016ab5a..18a81b90 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -2259,10 +2259,7 @@ func (r *rpcServer) AbandonChannel(ctx context.Context, } remotePub := dbChan.IdentityPub if peer, err := r.server.FindPeer(remotePub); err == nil { - if err := peer.WipeChannel(chanPoint); err != nil { - return nil, fmt.Errorf("unable to wipe "+ - "channel state: %v", err) - } + peer.WipeChannel(chanPoint) } default: