From 73cdb6a50f27ebf1fe40266560be4d4baef8d307 Mon Sep 17 00:00:00 2001 From: Olaoluwa Osuntokun Date: Wed, 1 Jul 2020 21:03:12 -0700 Subject: [PATCH] feature: add feature sets for the wumbo channel feature bit --- feature/default_sets.go | 4 ++++ feature/manager.go | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/feature/default_sets.go b/feature/default_sets.go index 8054894e..64e6f9bd 100644 --- a/feature/default_sets.go +++ b/feature/default_sets.go @@ -47,4 +47,8 @@ var defaultSetDesc = setDesc{ SetInit: {}, // I SetNodeAnn: {}, // N }, + lnwire.WumboChannelsOptional: { + SetInit: {}, // I + SetNodeAnn: {}, // N + }, } diff --git a/feature/manager.go b/feature/manager.go index 159540c2..7e20541e 100644 --- a/feature/manager.go +++ b/feature/manager.go @@ -20,6 +20,9 @@ type Config struct { // NoAnchors unsets any bits signaling support for anchor outputs. NoAnchors bool + + // NoWumbo unsets any bits signalling support for wumbo channels. + NoWumbo bool } // Manager is responsible for generating feature vectors for different requested @@ -36,7 +39,7 @@ func NewManager(cfg Config) (*Manager, error) { return newManager(cfg, defaultSetDesc) } -// newManager creates a new feeature Manager, applying any custom modifications +// newManager creates a new feature Manager, applying any custom modifications // to its feature sets before returning. This method accepts the setDesc as its // own parameter so that it can be unit tested. func newManager(cfg Config, desc setDesc) (*Manager, error) { @@ -83,6 +86,10 @@ func newManager(cfg Config, desc setDesc) (*Manager, error) { raw.Unset(lnwire.AnchorsOptional) raw.Unset(lnwire.AnchorsRequired) } + if cfg.NoWumbo { + raw.Unset(lnwire.WumboChannelsOptional) + raw.Unset(lnwire.WumboChannelsRequired) + } // Ensure that all of our feature sets properly set any // dependent features.