mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-09-19 20:15:18 +02:00
cnct: remove nursery dependency in commit sweep resolver
The channel arbitrator no longer passes the direct commitment output to the nursery for incubation. Instead the resolver itself will await the csv lock if any. The reason to change this now is to prevent having to deal with the (legacy) nursery code for a planned anchor outputs related change to the commit sweep resolver (also csv lock to_remote). It is no problem if there are any lingering incubating outputs at the time of upgrade. This just means that the output will be offered twice to the sweeper and this doesn't hurt.
This commit is contained in:
@@ -141,6 +141,10 @@ const (
|
||||
// ReportOutputOutgoingHtlc is an outgoing hash time locked contract on
|
||||
// the commitment tx.
|
||||
ReportOutputOutgoingHtlc
|
||||
|
||||
// ReportOutputUnencumbered is an uncontested output on the commitment
|
||||
// transaction paying to us directly.
|
||||
ReportOutputUnencumbered
|
||||
)
|
||||
|
||||
// ContractReport provides a summary of a commitment tx output.
|
||||
@@ -873,27 +877,6 @@ func (c *ChannelArbitrator) stateStep(
|
||||
break
|
||||
}
|
||||
|
||||
// If we've have broadcast the commitment transaction, we send
|
||||
// our commitment output for incubation, but only if it wasn't
|
||||
// trimmed. We'll need to wait for a CSV timeout before we can
|
||||
// reclaim the funds.
|
||||
commitRes := contractResolutions.CommitResolution
|
||||
if commitRes != nil && commitRes.MaturityDelay > 0 {
|
||||
log.Infof("ChannelArbitrator(%v): sending commit "+
|
||||
"output for incubation", c.cfg.ChanPoint)
|
||||
|
||||
err = c.cfg.IncubateOutputs(
|
||||
c.cfg.ChanPoint, commitRes,
|
||||
nil, nil, triggerHeight,
|
||||
)
|
||||
if err != nil {
|
||||
// TODO(roasbeef): check for AlreadyExists errors
|
||||
log.Errorf("unable to incubate commitment "+
|
||||
"output: %v", err)
|
||||
return StateError, closeTx, err
|
||||
}
|
||||
}
|
||||
|
||||
// Now that we know we'll need to act, we'll process the htlc
|
||||
// actions, wen create the structures we need to resolve all
|
||||
// outstanding contracts.
|
||||
|
Reference in New Issue
Block a user