]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Add missing feature sanity checks
authorJeffrey Czyz <jkczyz@gmail.com>
Thu, 16 Apr 2020 01:21:29 +0000 (18:21 -0700)
committerJeffrey Czyz <jkczyz@gmail.com>
Thu, 16 Apr 2020 01:21:29 +0000 (18:21 -0700)
PaymentSecret and BasicMPP were added in d39f25839ad9ff5e2a0e1dd8919e991828d1bf35
but the sanity test for supported features was missed.

lightning/src/ln/features.rs

index 9ab53b4ae82c808745fec6b9d6e71a4cc9502650..f441f80a227e74dbd8f264deddd4fb8422c13ea5 100644 (file)
@@ -299,7 +299,7 @@ impl<T: sealed::PaymentSecret> Features<T> {
        // Note that we never need to test this since what really matters is the invoice - iff the
        // invoice provides a payment_secret, we assume that we can use it (ie that the recipient
        // supports payment_secret).
-       pub(crate) fn payment_secret(&self) -> bool {
+       pub(crate) fn supports_payment_secret(&self) -> bool {
                self.flags.len() > 1 && (self.flags[1] & (3 << (14-8))) != 0
        }
 }
@@ -307,7 +307,7 @@ impl<T: sealed::PaymentSecret> Features<T> {
 impl<T: sealed::BasicMPP> Features<T> {
        // We currently never test for this since we don't actually *generate* multipath routes.
        #[allow(dead_code)]
-       pub(crate) fn basic_mpp(&self) -> bool {
+       pub(crate) fn supports_basic_mpp(&self) -> bool {
                self.flags.len() > 2 && (self.flags[2] & (3 << (16-8*2))) != 0
        }
 }
@@ -356,6 +356,12 @@ mod tests {
                assert!(InitFeatures::supported().supports_variable_length_onion());
                assert!(NodeFeatures::supported().supports_variable_length_onion());
 
+               assert!(InitFeatures::supported().supports_payment_secret());
+               assert!(NodeFeatures::supported().supports_payment_secret());
+
+               assert!(InitFeatures::supported().supports_basic_mpp());
+               assert!(NodeFeatures::supported().supports_basic_mpp());
+
                let mut init_features = InitFeatures::supported();
                init_features.set_initial_routing_sync();
                assert!(!init_features.requires_unknown_bits());