[][src]Struct lnpbp::lnp::Features

pub struct Features {
    pub option_data_loss_protect: FeatureFlag,
    pub initial_routing_sync: FeatureFlag,
    pub option_upfront_sutdown_script: FeatureFlag,
    pub gossip_queries: FeatureFlag,
    pub var_onion_optin: FeatureFlag,
    pub gossip_queries_ex: FeatureFlag,
    pub option_static_remotekey: FeatureFlag,
    pub payment_secret: FeatureFlag,
    pub basic_mpp: FeatureFlag,
    pub option_support_large_channel: FeatureFlag,
    pub option_anchor_outputs: FeatureFlag,
    pub unknown: FlagVec,
}

Flags are numbered from the least-significant bit, at bit 0 (i.e. 0x1, an even bit). They are generally assigned in pairs so that features can be introduced as optional (odd bits) and later upgraded to be compulsory (even bits), which will be refused by outdated nodes: see BOLT #1: The init Message.

Specification

https://github.com/lightningnetwork/lightning-rfc/blob/master/09-features.md

Fields

option_data_loss_protect: FeatureFlag

Requires or supports extra channel_reestablish fields

initial_routing_sync: FeatureFlag

Sending node needs a complete routing information dump

option_upfront_sutdown_script: FeatureFlag

Commits to a shutdown scriptpubkey when opening channel

gossip_queries: FeatureFlag

More sophisticated gossip control

var_onion_optin: FeatureFlag

Requires/supports variable-length routing onion payloads

gossip_queries_ex: FeatureFlag

Gossip queries can include additional information

option_static_remotekey: FeatureFlag

Static key for remote output

payment_secret: FeatureFlag

Node supports payment_secret field

basic_mpp: FeatureFlag

Node can receive basic multi-part payments

option_support_large_channel: FeatureFlag

Can create large channels

option_anchor_outputs: FeatureFlag

Anchor outputs

unknown: FlagVec

Rest of feature flags which are unknown to the current implementation

Trait Implementations

impl Clone for Features[src]

impl Debug for Features[src]

impl Default for Features[src]

impl Display for Features[src]

impl Eq for Features[src]

impl PartialEq<Features> for Features[src]

impl StrictDecode for Features[src]

type Error = Error

Implementation-dependent error type

impl StrictEncode for Features[src]

type Error = Error

Implementation-dependent error type

impl StructuralEq for Features[src]

impl StructuralPartialEq for Features[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,