Struct lnp::features::InitFeatures[][src]

pub struct InitFeatures {
    pub option_data_loss_protect: Option<bool>,
    pub initial_routing_sync: bool,
    pub option_upfront_shutdown_script: Option<bool>,
    pub gossip_queries: Option<bool>,
    pub var_onion_optin: Option<bool>,
    pub gossip_queries_ex: Option<bool>,
    pub option_static_remotekey: Option<bool>,
    pub payment_secret: Option<bool>,
    pub basic_mpp: Option<bool>,
    pub option_support_large_channel: Option<bool>,
    pub option_anchor_outputs: Option<bool>,
    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: Option<bool>

Requires or supports extra channel_reestablish fields

initial_routing_sync: bool

Sending node needs a complete routing information dump

option_upfront_shutdown_script: Option<bool>

Commits to a shutdown scriptpubkey when opening channel

gossip_queries: Option<bool>

More sophisticated gossip control

var_onion_optin: Option<bool>

Requires/supports variable-length routing onion payloads

gossip_queries_ex: Option<bool>

Gossip queries can include additional information

option_static_remotekey: Option<bool>

Static key for remote output

payment_secret: Option<bool>

Node supports payment_secret field

basic_mpp: Option<bool>

Node can receive basic multi-part payments

option_support_large_channel: Option<bool>

Can create large channels

option_anchor_outputs: Option<bool>

Anchor outputs

unknown: FlagVec

Rest of feature flags which are unknown to the current implementation

Implementations

impl InitFeatures[src]

Trait Implementations

impl Clone for InitFeatures[src]

impl Debug for InitFeatures[src]

impl Default for InitFeatures[src]

impl Display for InitFeatures[src]

impl Eq for InitFeatures[src]

impl Hash for InitFeatures[src]

impl LightningDecode for InitFeatures[src]

impl LightningEncode for InitFeatures[src]

impl Ord for InitFeatures[src]

impl PartialEq<InitFeatures> for InitFeatures[src]

impl PartialOrd<InitFeatures> for InitFeatures[src]

impl StrictDecode for InitFeatures[src]

impl StrictEncode for InitFeatures[src]

impl StructuralEq for InitFeatures[src]

impl StructuralPartialEq for InitFeatures[src]

impl TryFrom<FlagVec> for InitFeatures[src]

type Error = Error

The type returned in the event of a conversion error.

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>,