/// Applied only for inbound channels (see ChannelHandshakeLimits::max_minimum_depth for the
/// equivalent limit applied to outbound channels).
///
+ /// A lower-bound of 1 is applied, requiring all channels to have a confirmed commitment
+ /// transaction before operation. If you wish to accept channels with zero confirmations, see
+ /// [`UserConfig::manually_accept_inbound_channels`] and
+ /// [`ChannelManager::accept_inbound_channel_from_trusted_peer_0conf`].
+ ///
/// Default value: 6.
+ ///
+ /// [`ChannelManager::accept_inbound_channel`]: crate::ln::channelmanager::ChannelManager::accept_inbound_channel
+ /// [`ChannelManager::accept_inbound_channel_from_trusted_peer_0conf`]: crate::ln::channelmanager::ChannelManager::accept_inbound_channel_from_trusted_peer_0conf
pub minimum_depth: u32,
/// Set to the number of blocks we require our counterparty to wait to claim their money (ie
/// the number of blocks we have to punish our counterparty if they broadcast a revoked
/// Default value: 1. If the value is less than 1, it is ignored and set to 1, as is required
/// by the protocol.
pub our_htlc_minimum_msat: u64,
+ /// Sets the percentage of the channel value we will cap the total value of outstanding inbound
+ /// HTLCs to.
+ ///
+ /// This can be set to a value between 1-100, where the value corresponds to the percent of the
+ /// channel value in whole percentages.
+ ///
+ /// Note that:
+ /// * If configured to another value than the default value 10, any new channels created with
+ /// the non default value will cause versions of LDK prior to 0.0.104 to refuse to read the
+ /// `ChannelManager`.
+ ///
+ /// * This caps the total value for inbound HTLCs in-flight only, and there's currently
+ /// no way to configure the cap for the total value of outbound HTLCs in-flight.
+ ///
+ /// * The requirements for your node being online to ensure the safety of HTLC-encumbered funds
+ /// are different from the non-HTLC-encumbered funds. This makes this an important knob to
+ /// restrict exposure to loss due to being offline for too long.
+ /// See [`ChannelHandshakeConfig::our_to_self_delay`] and [`ChannelConfig::cltv_expiry_delta`]
+ /// for more information.
+ ///
+ /// Default value: 10.
+ /// Minimum value: 1, any values less than 1 will be treated as 1 instead.
+ /// Maximum value: 100, any values larger than 100 will be treated as 100 instead.
+ pub max_inbound_htlc_value_in_flight_percent_of_channel: u8,
/// If set, we attempt to negotiate the `scid_privacy` (referred to as `scid_alias` in the
/// BOLTs) option for outbound private channels. This provides better privacy by not including
/// our real on-chain channel UTXO in each invoice and requiring that our counterparty only
minimum_depth: 6,
our_to_self_delay: BREAKDOWN_TIMEOUT,
our_htlc_minimum_msat: 1,
+ max_inbound_htlc_value_in_flight_percent_of_channel: 10,
negotiate_scid_privacy: false,
}
}
///
/// Default value: 144, or roughly one day and only applies to outbound channels.
pub max_minimum_depth: u32,
+ /// Whether we implicitly trust funding transactions generated by us for our own outbound
+ /// channels to not be double-spent.
+ ///
+ /// If this is set, we assume that our own funding transactions are *never* double-spent, and
+ /// thus we can trust them without any confirmations. This is generally a reasonable
+ /// assumption, given we're the only ones who could ever double-spend it (assuming we have sole
+ /// control of the signing keys).
+ ///
+ /// You may wish to un-set this if you allow the user to (or do in an automated fashion)
+ /// double-spend the funding transaction to RBF with an alternative channel open.
+ ///
+ /// This only applies if our counterparty set their confirmations-required value to 0, and we
+ /// always trust our own funding transaction at 1 confirmation irrespective of this value.
+ /// Thus, this effectively acts as a `min_minimum_depth`, with the only possible values being
+ /// `true` (0) and `false` (1).
+ ///
+ /// Default value: true
+ pub trust_own_funding_0conf: bool,
/// Set to force an incoming channel to match our announced channel preference in
/// [`ChannelConfig::announced_channel`].
///
min_max_htlc_value_in_flight_msat: 0,
max_channel_reserve_satoshis: <u64>::max_value(),
min_max_accepted_htlcs: 0,
+ trust_own_funding_0conf: true,
max_minimum_depth: 144,
force_announced_channel_preference: true,
their_to_self_delay: MAX_LOCAL_BREAKDOWN_TIMEOUT,