From ce9e559aed5c491f09b570545aabedb2a2c64402 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 20 May 2020 06:16:56 +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 efa1dfdbb0c2..0ebbeeea2570 100644 --- a/common/features.c +++ b/common/features.c @@ -61,10 +61,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 0e678a126133..ffbdafb339cb 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -46,8 +46,6 @@ 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)