From 14e371948b6a21e346c1ec303793c64c32dadd86 Mon Sep 17 00:00:00 2001 From: Keagan McClelland Date: Wed, 15 May 2024 15:28:43 -0700 Subject: [PATCH 1/2] lnwallet: remove unnecessary duplicate definition --- lnwallet/channel.go | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/lnwallet/channel.go b/lnwallet/channel.go index 470961445..d061848e2 100644 --- a/lnwallet/channel.go +++ b/lnwallet/channel.go @@ -349,23 +349,13 @@ type commitment struct { // locateOutputIndex is a small helper function to locate the output index of a // particular HTLC within the current commitment transaction. The duplicate map -// massed in is to be retained for each output within the commitment +// passed in is to be retained for each output within the commitment // transition. This ensures that we don't assign multiple HTLCs to the same // index within the commitment transaction. func locateOutputIndex(p *PaymentDescriptor, tx *wire.MsgTx, whoseCommit lntypes.ChannelParty, dups map[PaymentHash][]int32, cltvs []uint32) (int32, error) { - // Checks to see if element (e) exists in slice (s). - contains := func(s []int32, e int32) bool { - for _, a := range s { - if a == e { - return true - } - } - return false - } - // If this is their commitment transaction, we'll be trying to locate // their pkScripts, otherwise we'll be looking for ours. This is // required as the commitment states are asymmetric in order to ascribe @@ -385,7 +375,7 @@ func locateOutputIndex(p *PaymentDescriptor, tx *wire.MsgTx, // If this payment hash and index has already been // found, then we'll continue in order to avoid any // duplicate indexes. - if contains(dups[p.RHash], int32(i)) { + if fn.Elem(int32(i), dups[p.RHash]) { continue } From 935e7f1bee3a5d61bf80d5db1cd43bad48ecaea0 Mon Sep 17 00:00:00 2001 From: Keagan McClelland Date: Wed, 15 May 2024 15:32:03 -0700 Subject: [PATCH 2/2] lnwallet: remove unused parameters in LightningChannel methods --- lnwallet/channel.go | 9 ++++----- lnwallet/channel_test.go | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lnwallet/channel.go b/lnwallet/channel.go index d061848e2..65ae01356 100644 --- a/lnwallet/channel.go +++ b/lnwallet/channel.go @@ -566,7 +566,7 @@ func (c *commitment) toDiskCommit( // restore commitment state written to disk back into memory once we need to // restart a channel session. func (lc *LightningChannel) diskHtlcToPayDesc(feeRate chainfee.SatPerKWeight, - commitHeight uint64, htlc *channeldb.HTLC, localCommitKeys, + htlc *channeldb.HTLC, localCommitKeys *CommitmentKeyRing, remoteCommitKeys *CommitmentKeyRing, whoseCommit lntypes.ChannelParty, ) (PaymentDescriptor, error) { @@ -654,8 +654,8 @@ func (lc *LightningChannel) diskHtlcToPayDesc(feeRate chainfee.SatPerKWeight, // to a set of incoming and outgoing payment descriptors. Once reconstructed, // these payment descriptors can be re-inserted into the in-memory updateLog // for each side. -func (lc *LightningChannel) extractPayDescs(commitHeight uint64, - feeRate chainfee.SatPerKWeight, htlcs []channeldb.HTLC, localCommitKeys, +func (lc *LightningChannel) extractPayDescs(feeRate chainfee.SatPerKWeight, + htlcs []channeldb.HTLC, localCommitKeys *CommitmentKeyRing, remoteCommitKeys *CommitmentKeyRing, whoseCommit lntypes.ChannelParty, ) ([]PaymentDescriptor, []PaymentDescriptor, error) { @@ -675,7 +675,7 @@ func (lc *LightningChannel) extractPayDescs(commitHeight uint64, htlc := htlc payDesc, err := lc.diskHtlcToPayDesc( - feeRate, commitHeight, &htlc, + feeRate, &htlc, localCommitKeys, remoteCommitKeys, whoseCommit, ) @@ -728,7 +728,6 @@ func (lc *LightningChannel) diskCommitToMemCommit( // HTLC"s into PaymentDescriptor's so we can re-insert them into our // update log. incomingHtlcs, outgoingHtlcs, err := lc.extractPayDescs( - diskCommit.CommitHeight, chainfee.SatPerKWeight(diskCommit.FeePerKw), diskCommit.Htlcs, localCommitKeys, remoteCommitKeys, whoseCommit, diff --git a/lnwallet/channel_test.go b/lnwallet/channel_test.go index 6842feb83..fcaf0fc08 100644 --- a/lnwallet/channel_test.go +++ b/lnwallet/channel_test.go @@ -10379,7 +10379,7 @@ func TestExtractPayDescs(t *testing.T) { // NOTE: we use nil commitment key rings to avoid checking the htlc // scripts(`genHtlcScript`) as it should be tested independently. incomingPDs, outgoingPDs, err := lnChan.extractPayDescs( - 0, 0, htlcs, nil, nil, lntypes.Local, + 0, htlcs, nil, nil, lntypes.Local, ) require.NoError(t, err)