From ce9e559aed5c491f09b570545aabedb2a2c64402 Mon Sep 17 00:00:00 2001
From: Rusty Russell <rusty@rustcorp.com.au>
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 <rusty@rustcorp.com.au>
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 efa1dfdbb..0ebbeeea2 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 0e678a126..ffbdafb33 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)