From de52bcb37162e9b91ac48dee39d8a29f8a171cb3 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 29 Jan 2024 10:04:16 +1030 Subject: [PATCH] lightningd: make option_gossip_queries compulsory. As suggested in https://github.com/lightning/bolts/pull/1092. Signed-off-by: Rusty Russell Changelog-Changed: Protocol: `option_gossip_queries` is now required (advertized by all but 11 nodes) --- lightningd/lightningd.c | 2 +- tests/test_connection.py | 4 ++-- tests/test_misc.py | 2 +- tests/utils.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 1b8698a90618..861fb8c8d021 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -889,7 +889,7 @@ static struct feature_set *default_features(const tal_t *ctx) static const u32 features[] = { COMPULSORY_FEATURE(OPT_DATA_LOSS_PROTECT), OPTIONAL_FEATURE(OPT_UPFRONT_SHUTDOWN_SCRIPT), - OPTIONAL_FEATURE(OPT_GOSSIP_QUERIES), + COMPULSORY_FEATURE(OPT_GOSSIP_QUERIES), COMPULSORY_FEATURE(OPT_VAR_ONION), COMPULSORY_FEATURE(OPT_PAYMENT_SECRET), OPTIONAL_FEATURE(OPT_BASIC_MPP), diff --git a/tests/test_connection.py b/tests/test_connection.py index c09b3c1407c1..664cbba2f682 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -3579,9 +3579,9 @@ def test_nonstatic_channel(node_factory, bitcoind): """Smoke test for a channel without option_static_remotekey""" l1, l2 = node_factory.line_graph(2, opts=[{}, - # needs at least 1 and 15 to connect + # needs at least 1, 7 and 15 to connect # (and 9 is a dependent) - {'dev-force-features': '1,9,15////////'}]) + {'dev-force-features': '1,7,9,15////////'}]) chan = only_one(l1.rpc.listpeerchannels()['channels']) assert 'option_static_remotekey' not in chan['features'] assert 'option_anchor' not in chan['features'] diff --git a/tests/test_misc.py b/tests/test_misc.py index f1cfc3f68eae..911d8df9ffba 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -2245,7 +2245,7 @@ def test_list_features_only(node_factory): '--list-features-only']).decode('utf-8').splitlines() expected = ['option_data_loss_protect/even', 'option_upfront_shutdown_script/odd', - 'option_gossip_queries/odd', + 'option_gossip_queries/even', 'option_var_onion_optin/even', 'option_gossip_queries_ex/odd', 'option_static_remotekey/odd', diff --git a/tests/utils.py b/tests/utils.py index 8810b79ef4fc..ab84dfff8b1c 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -36,7 +36,7 @@ def hex_bits(features): def expected_peer_features(extra=[]): """Return the expected peer features hexstring for this configuration""" - features = [0, 5, 7, 8, 11, 13, 14, 17, 19, 25, 27, 45, 47, 51] + features = [0, 5, 6, 8, 11, 13, 14, 17, 19, 25, 27, 45, 47, 51] if EXPERIMENTAL_DUAL_FUND: # option_dual_fund features += [29] @@ -50,7 +50,7 @@ def expected_peer_features(extra=[]): # features for the 'node' and the 'peer' feature sets def expected_node_features(extra=[]): """Return the expected node features hexstring for this configuration""" - features = [0, 5, 7, 8, 11, 13, 14, 17, 19, 25, 27, 45, 47, 51, 55] + features = [0, 5, 6, 8, 11, 13, 14, 17, 19, 25, 27, 45, 47, 51, 55] if EXPERIMENTAL_DUAL_FUND: # option_dual_fund features += [29]