mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-09-29 03:53:02 +02:00
lnwire+feature: new zero-conf, scid-alias feature bit + chantypes
This defines the zero-conf feature bit, the scid-alias feature bit, the zero-conf channel type, and the scid-alias channel type. It also defines the dependency "tree" that exists for the feature bits. The scid-alias feature bit signals that the node requires an alias short channel id to be sent in funding_locked. The scid-alias channel type requires that the channel is private, in addition to some other forwarding-related privacy measures.
This commit is contained in:
@@ -31,6 +31,15 @@ type Config struct {
|
||||
// NoKeysend unsets any bits signaling support for accepting keysend
|
||||
// payments.
|
||||
NoKeysend bool
|
||||
|
||||
// NoOptionScidAlias unsets any bits signalling support for
|
||||
// option_scid_alias. This also implicitly disables zero-conf channels.
|
||||
NoOptionScidAlias bool
|
||||
|
||||
// NoZeroConf unsets any bits signalling support for zero-conf
|
||||
// channels. This should be used instead of NoOptionScidAlias to still
|
||||
// keep option-scid-alias support.
|
||||
NoZeroConf bool
|
||||
}
|
||||
|
||||
// Manager is responsible for generating feature vectors for different requested
|
||||
@@ -125,6 +134,14 @@ func newManager(cfg Config, desc setDesc) (*Manager, error) {
|
||||
raw.Unset(lnwire.KeysendOptional)
|
||||
raw.Unset(lnwire.KeysendRequired)
|
||||
}
|
||||
if cfg.NoOptionScidAlias {
|
||||
raw.Unset(lnwire.ScidAliasOptional)
|
||||
raw.Unset(lnwire.ScidAliasRequired)
|
||||
}
|
||||
if cfg.NoZeroConf {
|
||||
raw.Unset(lnwire.ZeroConfOptional)
|
||||
raw.Unset(lnwire.ZeroConfRequired)
|
||||
}
|
||||
|
||||
// Ensure that all of our feature sets properly set any
|
||||
// dependent features.
|
||||
|
Reference in New Issue
Block a user