From a9fe1a3c083aa46653701a4a60c6c16072d55f57 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Sat, 11 Apr 2020 12:18:51 +0930 Subject: [PATCH] features: add EXPERIMENTAL option_onion_messages from draft. Signed-off-by: Rusty Russell --- common/features.c | 7 +++++++ common/features.h | 7 +++++++ lightningd/lightningd.c | 3 +++ 3 files changed, 17 insertions(+) diff --git a/common/features.c b/common/features.c index ba20abda4..9989cb93a 100644 --- a/common/features.c +++ b/common/features.c @@ -56,6 +56,13 @@ static const struct feature_style feature_styles[] = { .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT, [CHANNEL_FEATURE] = FEATURE_REPRESENT_AS_OPTIONAL } }, +#if EXPERIMENTAL_FEATURES + { OPT_ONION_MESSAGES, + .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, + [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT, + [BOLT11_FEATURE] = FEATURE_REPRESENT, + [CHANNEL_FEATURE] = FEATURE_REPRESENT_AS_OPTIONAL} }, +#endif }; static enum feature_copy_style feature_copy_style(u32 f, enum feature_place p) diff --git a/common/features.h b/common/features.h index bf6b534e1..cf364d8c8 100644 --- a/common/features.h +++ b/common/features.h @@ -99,4 +99,11 @@ u8 *featurebits_or(const tal_t *ctx, const u8 *f1 TAKES, const u8 *f2 TAKES); #define OPT_BASIC_MPP 16 #define OPT_LARGE_CHANNELS 18 +/* BOLT-9fc25cfd2895578c0b1ab701ebe6c1eb67a19623 #9: + * + * | 102/103 | `option_onion_messages` |... INC+ ... + */ +#if EXPERIMENTAL_FEATURES +#define OPT_ONION_MESSAGES 102 +#endif #endif /* LIGHTNING_COMMON_FEATURES_H */ diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 30e801440..e97ea13d6 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -723,6 +723,9 @@ static struct feature_set *default_features(const tal_t *ctx) OPTIONAL_FEATURE(OPT_BASIC_MPP), OPTIONAL_FEATURE(OPT_GOSSIP_QUERIES_EX), OPTIONAL_FEATURE(OPT_STATIC_REMOTEKEY), +#if EXPERIMENTAL_FEATURES + OPTIONAL_FEATURE(OPT_ONION_MESSAGES), +#endif }; for (size_t i = 0; i < ARRAY_SIZE(features); i++) {