lnd/feature
Carla Kirk-Cohen 019127c4f4
multi: add restriction on maximum feature bit in invoices
Base 32 encoded bolt 11 invoices only allow 10 bits to express the
length of the feature vector in a tagged field, so there is a much
lower limit on the values invoice custom features can hold.

Other places in the protocol are theoretically limited by the maximum
message size, but since we express a feature bit as u16 we don't need
to be concerned about this.

The decision is made to track maximum per-set in the feature manager,
which is conceptually aware of sets and then validate in lnwire/features
against some arbitrary maximum value provided to the caller to keep
the base features package unaware of sets.
2023-05-04 10:35:45 -04:00
..
default_sets.go lnwire+feature: add awareness of option_shutdown_anysegwit 2022-08-10 18:44:26 -07:00
deps.go feature: remove ScidAliasOptional dependency on ExplicitChannelTypeOptional 2022-08-08 10:11:06 -07:00
deps_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
manager.go multi: add restriction on maximum feature bit in invoices 2023-05-04 10:35:45 -04:00
manager_internal_test.go feature: add update function for safe feature update 2023-05-04 10:35:44 -04:00
required.go feature/required: add ValidateRequired method 2020-01-08 12:24:37 -08:00
set.go multi: add restriction on maximum feature bit in invoices 2023-05-04 10:35:45 -04:00