Skip to content

Commit 5198054

Browse files
committed
f Acutally only return required features
1 parent 56e1128 commit 5198054

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lightning/src/ln/features.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ impl<T: sealed::Context> Features<T> {
802802
};
803803

804804
if byte & (REQUIRED_FEATURES & unknown_features) != 0 {
805-
for bit in 0..8 {
805+
for bit in (0..8).step_by(2) {
806806
if byte >> bit & 1 == 1 {
807807
unknown_bits.push(i * 8 + bit);
808808
}
@@ -1070,6 +1070,13 @@ mod tests {
10701070
assert!(!features.requires_unknown_bits());
10711071
assert!(features.supports_unknown_bits());
10721072
assert_eq!(features.required_unknown_bits_from(&ChannelFeatures::empty()), vec![]);
1073+
1074+
let mut features = ChannelFeatures::empty();
1075+
features.set_unknown_feature_optional();
1076+
features.set_custom_bit(123456786).unwrap();
1077+
assert!(features.requires_unknown_bits());
1078+
assert!(features.supports_unknown_bits());
1079+
assert_eq!(features.required_unknown_bits_from(&ChannelFeatures::empty()), vec![123456786]);
10731080
}
10741081

10751082
#[test]

0 commit comments

Comments
 (0)