Struct lightning::util::config::UserConfig
source · pub struct UserConfig {
pub channel_handshake_config: ChannelHandshakeConfig,
pub channel_handshake_limits: ChannelHandshakeLimits,
pub channel_config: ChannelConfig,
pub accept_forwards_to_priv_channels: bool,
pub accept_inbound_channels: bool,
pub manually_accept_inbound_channels: bool,
pub accept_intercept_htlcs: bool,
}
Expand description
Top-level config which holds ChannelHandshakeLimits and ChannelConfig.
Default::default() provides sane defaults for most configurations (but currently with 0 relay fees!)
Fields§
§channel_handshake_config: ChannelHandshakeConfig
Channel handshake config that we propose to our counterparty.
channel_handshake_limits: ChannelHandshakeLimits
Limits applied to our counterparty’s proposed channel handshake config settings.
channel_config: ChannelConfig
Channel config which affects behavior during channel lifetime.
accept_forwards_to_priv_channels: bool
If this is set to false, we will reject any HTLCs which were to be forwarded over private channels. This prevents us from taking on HTLC-forwarding risk when we intend to run as a node which is not online reliably.
For nodes which are not online reliably, you should set all channels to not be announced
(using ChannelHandshakeConfig::announced_channel
and
ChannelHandshakeLimits::force_announced_channel_preference
) and set this to false to
ensure you are not exposed to any forwarding risk.
Note that because you cannot change a channel’s announced state after creation, there is no way to disable forwarding on public channels retroactively. Thus, in order to change a node from a publicly-announced forwarding node to a private non-forwarding node you must close all your channels and open new ones. For privacy, you should also change your node_id (swapping all private and public key material for new ones) at that time.
Default value: false.
accept_inbound_channels: bool
If this is set to false, we do not accept inbound requests to open a new channel. Default value: true.
manually_accept_inbound_channels: bool
If this is set to true, the user needs to manually accept inbound requests to open a new channel.
When set to true, Event::OpenChannelRequest
will be triggered once a request to open a
new inbound channel is received through a msgs::OpenChannel
message. In that case, a
msgs::AcceptChannel
message will not be sent back to the counterparty node unless the
user explicitly chooses to accept the request.
Default value: false.
accept_intercept_htlcs: bool
If this is set to true, LDK will intercept HTLCs that are attempting to be forwarded over
fake short channel ids generated via ChannelManager::get_intercept_scid
. Upon HTLC
intercept, LDK will generate an Event::HTLCIntercepted
which MUST be handled by the user.
Setting this to true may break backwards compatibility with LDK versions < 0.0.113.
Default value: false.
Trait Implementations§
source§impl Clone for UserConfig
impl Clone for UserConfig
source§fn clone(&self) -> UserConfig
fn clone(&self) -> UserConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more