X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Ffeatures.rs;h=dd6ac3307f88d1c14a97a7874e1de2556d87696b;hb=25e4f3e46ed4d0221e41d34ccbaa82adc87421a2;hp=36f29ada14e4609709777d3594a3cfc9b7c2dd7a;hpb=7af9976261436fe2357a187c2aaa6792fb0506c6;p=rust-lightning diff --git a/lightning/src/ln/features.rs b/lightning/src/ln/features.rs index 36f29ada..dd6ac330 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); }