[][src]Struct lightning::util::config::ChannelConfig

pub struct ChannelConfig {
    pub fee_proportional_millionths: u32,
    pub announced_channel: bool,
    pub commit_upfront_shutdown_pubkey: bool,
}

Options which apply on a per-channel basis and may change at runtime or based on negotiation with our counterparty.

Fields

fee_proportional_millionths: u32

Amount (in millionths of a satoshi) the channel will charge per transferred satoshi. This may be allowed to change at runtime in a later update, however doing so must result in update messages sent to notify all nodes of our updated relay fee.

Default value: 0.

announced_channel: bool

Set to announce the channel publicly and notify all nodes that they can route via this channel.

This should only be set to true for nodes which expect to be online reliably.

As the node which funds a channel picks this value this will only apply for new outbound channels unless ChannelHandshakeLimits::force_announced_channel_preferences is set.

This cannot be changed after the initial channel handshake.

Default value: false.

commit_upfront_shutdown_pubkey: bool

When set, we commit to an upfront shutdown_pubkey at channel open. If our counterparty supports it, they will then enforce the mutual-close output to us matches what we provided at intialization, preventing us from closing to an alternate pubkey.

This is set to true by default to provide a slight increase in security, though ultimately any attacker who is able to take control of a channel can just as easily send the funds via lightning payments, so we never require that our counterparties support this option.

This cannot be changed after a channel has been initialized.

Default value: true.

Trait Implementations

impl Clone for ChannelConfig[src]

impl Copy for ChannelConfig[src]

impl Debug for ChannelConfig[src]

impl Default for ChannelConfig[src]

fn default() -> Self[src]

Provides sane defaults for most configurations (but with zero relay fees!).

impl<R: Read> Readable<R> for ChannelConfig[src]

impl Writeable for ChannelConfig[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> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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

type Error = !

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.