From 3180c436f581a4205e29714e139d57e352636235 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 22 Apr 2021 18:54:53 +0000 Subject: [PATCH] Set payment_secret to required in features flags --- lightning/src/ln/features.rs | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/lightning/src/ln/features.rs b/lightning/src/ln/features.rs index 36f29ada1..dd6ac3307 100644 --- a/lightning/src/ln/features.rs +++ b/lightning/src/ln/features.rs @@ -95,7 +95,7 @@ mod sealed { // Byte 0 , // Byte 1 - StaticRemoteKey, + StaticRemoteKey | PaymentSecret, // Byte 2 , // Byte 3 @@ -105,7 +105,7 @@ mod sealed { // Byte 0 DataLossProtect | InitialRoutingSync | UpfrontShutdownScript | GossipQueries, // Byte 1 - VariableLengthOnion | PaymentSecret, + VariableLengthOnion, // Byte 2 BasicMPP, // Byte 3 @@ -117,7 +117,7 @@ mod sealed { // Byte 0 , // Byte 1 - StaticRemoteKey, + StaticRemoteKey | PaymentSecret, // Byte 2 , // Byte 3 @@ -127,7 +127,7 @@ mod sealed { // Byte 0 DataLossProtect | UpfrontShutdownScript | GossipQueries, // Byte 1 - VariableLengthOnion | PaymentSecret, + VariableLengthOnion, // Byte 2 BasicMPP, // Byte 3 @@ -139,12 +139,19 @@ mod sealed { optional_features: [], }); define_context!(InvoiceContext { - required_features: [,,,], + required_features: [ + // Byte 0 + , + // Byte 1 + PaymentSecret, + // Byte 2 + , + ], optional_features: [ // Byte 0 , // Byte 1 - VariableLengthOnion | PaymentSecret, + VariableLengthOnion, // Byte 2 BasicMPP, ], @@ -732,8 +739,8 @@ mod tests { assert!(InitFeatures::known().supports_payment_secret()); assert!(NodeFeatures::known().supports_payment_secret()); - assert!(!InitFeatures::known().requires_payment_secret()); - assert!(!NodeFeatures::known().requires_payment_secret()); + assert!(InitFeatures::known().requires_payment_secret()); + assert!(NodeFeatures::known().requires_payment_secret()); assert!(InitFeatures::known().supports_basic_mpp()); assert!(NodeFeatures::known().supports_basic_mpp()); @@ -779,12 +786,12 @@ mod tests { { // Check that the flags are as expected: // - option_data_loss_protect - // - var_onion_optin | static_remote_key (req) | payment_secret + // - var_onion_optin | static_remote_key (req) | payment_secret(req) // - basic_mpp // - opt_shutdown_anysegwit assert_eq!(node_features.flags.len(), 4); assert_eq!(node_features.flags[0], 0b00000010); - assert_eq!(node_features.flags[1], 0b10010010); + assert_eq!(node_features.flags[1], 0b01010010); assert_eq!(node_features.flags[2], 0b00000010); assert_eq!(node_features.flags[3], 0b00001000); } -- 2.39.5