-impl ChannelFeatures {
- /// Takes the flags that we know how to interpret in an init-context features that are also
- /// relevant in a channel-context features and creates a channel-context features from them.
- pub(crate) fn with_known_relevant_init_flags(_init_ctx: &InitFeatures) -> Self {
- // There are currently no channel flags defined that we understand.
- Self { flags: Vec::new(), mark: PhantomData, }
- }
-}
-
-impl NodeFeatures {
- /// Takes the flags that we know how to interpret in an init-context features that are also
- /// relevant in a node-context features and creates a node-context features from them.
- /// Be sure to blank out features that are unknown to us.
- pub(crate) fn with_known_relevant_init_flags(init_ctx: &InitFeatures) -> Self {
- use ln::features::sealed::Context;
- let byte_count = sealed::NodeContext::KNOWN_FEATURE_MASK.len();
-
- let mut flags = Vec::new();
- for (i, feature_byte) in init_ctx.flags.iter().enumerate() {
- if i < byte_count {
- flags.push(feature_byte & sealed::NodeContext::KNOWN_FEATURE_MASK[i]);
- }
- }
- Self { flags, mark: PhantomData, }
- }
-}
-