From bfa2342ff8bf8bc017bfb4c9babc6b1d9d0ff6cd Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 8 May 2020 14:38:36 +0930 Subject: [PATCH] features: do not set option_support_large_channel in channel_announcement. Spec is wrong (it says it should be compulsory), and Eclair doesn't set it at all, leading to an error when they send their announcement_signatures. Fixes: #3703 Signed-off-by: Rusty Russell Changelog-changed: large-channels: negotiate successfully with Eclair nodes. --- common/features.c | 6 +++++- tests/utils.py | 2 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/features.c b/common/features.c index 490cb18a94f8..18aa0c51e76e 100644 --- a/common/features.c +++ b/common/features.c @@ -60,10 +60,14 @@ static const struct feature_style feature_styles[] = { .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT, [BOLT11_FEATURE] = FEATURE_REPRESENT } }, + /* FIXME: Spec is wrong, and Eclair doesn't include in channel_announce! */ + /* BOLT #9: + * | 18/19 | `option_support_large_channel` |... INC+ ... + */ { OPT_LARGE_CHANNELS, .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT, - [CHANNEL_FEATURE] = FEATURE_REPRESENT_AS_OPTIONAL } }, + [CHANNEL_FEATURE] = FEATURE_DONT_REPRESENT } }, #if EXPERIMENTAL_FEATURES { OPT_ONION_MESSAGES, .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, diff --git a/tests/utils.py b/tests/utils.py index 204b6a3163b3..ee06b7eaa755 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -45,6 +45,4 @@ def expected_channel_features(wumbo_channels=False, extra=[]): if EXPERIMENTAL_FEATURES: # OPT_ONION_MESSAGES features += [103] - if wumbo_channels: - features += [19] return hex_bits(features + extra)