mirror of
https://github.com/lightningnetwork/lnd.git
synced 2026-08-13 12:32:48 +02:00
peer+feature: start to signal the prod rbf coop close bit
In this commit, we start to signal the prod bit for the rbf coop close feature. We keep our signaling of the staging bit in place to ensure the protocol continues to work between those nodes in the wild that are still signaling the bit. Fixes https://github.com/lightningnetwork/lnd/issues/9852
This commit is contained in:
parent
cbdd1c22b7
commit
03b35d000e
3 changed files with 12 additions and 5 deletions
|
|
@ -107,4 +107,8 @@ var defaultSetDesc = setDesc{
|
|||
SetInit: {}, // I
|
||||
SetNodeAnn: {}, // N
|
||||
},
|
||||
lnwire.RbfCoopCloseOptional: {
|
||||
SetInit: {}, // I
|
||||
SetNodeAnn: {}, // N
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -219,6 +219,7 @@ func newManager(cfg Config, desc setDesc) (*Manager, error) {
|
|||
}
|
||||
if cfg.NoRbfCoopClose {
|
||||
raw.Unset(lnwire.RbfCoopCloseOptionalStaging)
|
||||
raw.Unset(lnwire.RbfCoopCloseOptional)
|
||||
}
|
||||
|
||||
for _, custom := range cfg.CustomFeatures[set] {
|
||||
|
|
|
|||
|
|
@ -975,11 +975,13 @@ func (p *Brontide) taprootShutdownAllowed() bool {
|
|||
// rbfCoopCloseAllowed returns true if both parties have negotiated the new RBF
|
||||
// coop close feature.
|
||||
func (p *Brontide) rbfCoopCloseAllowed() bool {
|
||||
return p.RemoteFeatures().HasFeature(
|
||||
lnwire.RbfCoopCloseOptionalStaging,
|
||||
) && p.LocalFeatures().HasFeature(
|
||||
lnwire.RbfCoopCloseOptionalStaging,
|
||||
)
|
||||
bothHaveBit := func(bit lnwire.FeatureBit) bool {
|
||||
return p.RemoteFeatures().HasFeature(bit) &&
|
||||
p.LocalFeatures().HasFeature(bit)
|
||||
}
|
||||
|
||||
return bothHaveBit(lnwire.RbfCoopCloseOptional) ||
|
||||
bothHaveBit(lnwire.RbfCoopCloseOptionalStaging)
|
||||
}
|
||||
|
||||
// QuitSignal is a method that should return a channel which will be sent upon
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue