Merge pull request #7726 from Roasbeef/htlc-must-sweep

contractcourt: force the sweeper to always resolve outgoing HTLCs
This commit is contained in:
Olaoluwa Osuntokun 2023-05-29 12:49:32 -07:00 committed by GitHub
commit 20c1af9af6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 3 deletions

View File

@ -327,6 +327,7 @@ func (h *htlcTimeoutResolver) sweepSecondLevelTx() error {
Fee: sweep.FeePreference{
ConfTarget: secondLevelConfTarget,
},
Force: true,
},
)

View File

@ -781,9 +781,10 @@ func (u *UtxoNursery) sweepMatureOutputs(classHeight uint32,
// passed in with disastrous consequences.
local := output
resultChan, err := u.cfg.SweepInput(
&local, sweep.Params{Fee: feePref},
)
resultChan, err := u.cfg.SweepInput(&local, sweep.Params{
Fee: feePref,
Force: true,
})
if err != nil {
return err
}

View File

@ -20,6 +20,14 @@
peer, then this'll force a reconnect, which may restart things and help avoid
certain force close scenarios.
## Consistent Contract Resolution
* If lnd decides to go to chain for an HTLC, it will now _always_ ensure the
HTLC is fully swept on the outgoing link. Prior logic would avoid sweeping
due to negative yield, but combined with other inputs, the HTLC will usually
be positive yield.
# Contributors (Alphabetical Order)
* Elle Mouton