@@ -165,9 +165,10 @@ impl NodeFeatures {
165165 match i {
166166 // Blank out initial_routing_sync (feature bits 2/3), gossip_queries (6/7),
167167 // gossip_queries_ex (10/11), option_static_remotekey (12/13), and
168- // payment_secret (14/15 )
168+ // option_support_large_channel (16/17 )
169169 0 => flags. push ( feature_byte & 0b00110011 ) ,
170- 1 => flags. push ( feature_byte & 0b00000011 ) ,
170+ 1 => flags. push ( feature_byte & 0b11000011 ) ,
171+ 2 => flags. push ( feature_byte & 0b00000011 ) ,
171172 _ => ( ) ,
172173 }
173174 }
@@ -299,15 +300,15 @@ impl<T: sealed::PaymentSecret> Features<T> {
299300 // Note that we never need to test this since what really matters is the invoice - iff the
300301 // invoice provides a payment_secret, we assume that we can use it (ie that the recipient
301302 // supports payment_secret).
302- pub ( crate ) fn payment_secret ( & self ) -> bool {
303+ pub ( crate ) fn supports_payment_secret ( & self ) -> bool {
303304 self . flags . len ( ) > 1 && ( self . flags [ 1 ] & ( 3 << ( 14 -8 ) ) ) != 0
304305 }
305306}
306307
307308impl < T : sealed:: BasicMPP > Features < T > {
308309 // We currently never test for this since we don't actually *generate* multipath routes.
309310 #[ allow( dead_code) ]
310- pub ( crate ) fn basic_mpp ( & self ) -> bool {
311+ pub ( crate ) fn supports_basic_mpp ( & self ) -> bool {
311312 self . flags . len ( ) > 2 && ( self . flags [ 2 ] & ( 3 << ( 16 -8 * 2 ) ) ) != 0
312313 }
313314}
@@ -356,6 +357,12 @@ mod tests {
356357 assert ! ( InitFeatures :: supported( ) . supports_variable_length_onion( ) ) ;
357358 assert ! ( NodeFeatures :: supported( ) . supports_variable_length_onion( ) ) ;
358359
360+ assert ! ( InitFeatures :: supported( ) . supports_payment_secret( ) ) ;
361+ assert ! ( NodeFeatures :: supported( ) . supports_payment_secret( ) ) ;
362+
363+ assert ! ( InitFeatures :: supported( ) . supports_basic_mpp( ) ) ;
364+ assert ! ( NodeFeatures :: supported( ) . supports_basic_mpp( ) ) ;
365+
359366 let mut init_features = InitFeatures :: supported ( ) ;
360367 init_features. set_initial_routing_sync ( ) ;
361368 assert ! ( !init_features. requires_unknown_bits( ) ) ;
@@ -382,10 +389,12 @@ mod tests {
382389
383390 {
384391 // Check that the flags are as expected: optional_data_loss_protect,
385- // option_upfront_shutdown_script, and var_onion_optin set.
392+ // option_upfront_shutdown_script, var_onion_optin, payment_secret, and
393+ // basic_mpp.
394+ assert_eq ! ( res. flags. len( ) , 3 ) ;
386395 assert_eq ! ( res. flags[ 0 ] , 0b00100010 ) ;
387- assert_eq ! ( res. flags[ 1 ] , 0b00000010 ) ;
388- assert_eq ! ( res. flags. len ( ) , 2 ) ;
396+ assert_eq ! ( res. flags[ 1 ] , 0b10000010 ) ;
397+ assert_eq ! ( res. flags[ 2 ] , 0b00000010 ) ;
389398 }
390399
391400 // Check that the initial_routing_sync feature was correctly blanked out.
0 commit comments