Struct InboundHTLCDetails
pub struct InboundHTLCDetails {
pub htlc_id: u64,
pub amount_msat: u64,
pub cltv_expiry: u32,
pub payment_hash: PaymentHash,
pub state: Option<InboundHTLCStateDetails>,
pub is_dust: bool,
}
Expand description
Exposes details around pending inbound HTLCs.
Fields§
§htlc_id: u64
The HTLC ID. The IDs are incremented by 1 starting from 0 for each offered HTLC. They are unique per channel and inbound/outbound direction, unless an HTLC was only announced and not part of any commitment transaction.
amount_msat: u64
The amount in msat.
cltv_expiry: u32
The block height at which this HTLC expires.
payment_hash: PaymentHash
The payment hash.
state: Option<InboundHTLCStateDetails>
The state of the HTLC in the state machine.
Determines on which commitment transactions the HTLC is included and what message the HTLC is waiting for to advance to the next state.
See InboundHTLCStateDetails
for information on the specific states.
LDK will always fill this field in, but when downgrading to prior versions of LDK, new
states may result in None
here.
is_dust: bool
Whether the HTLC has an output below the local dust limit. If so, the output will be trimmed from the local commitment transaction and added to the commitment transaction fee. For non-anchor channels, this takes into account the cost of the second-stage HTLC transactions as well.
When the local commitment transaction is broadcasted as part of a unilateral closure, the value of this HTLC will therefore not be claimable but instead burned as a transaction fee.
Note that dust limits are specific to each party. An HTLC can be dust for the local commitment transaction but not for the counterparty’s commitment transaction and vice versa.
Trait Implementations§
§impl Clone for InboundHTLCDetails
impl Clone for InboundHTLCDetails
§fn clone(&self) -> InboundHTLCDetails
fn clone(&self) -> InboundHTLCDetails
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for InboundHTLCDetails
impl Debug for InboundHTLCDetails
§impl PartialEq for InboundHTLCDetails
impl PartialEq for InboundHTLCDetails
§impl Readable for InboundHTLCDetails
impl Readable for InboundHTLCDetails
§fn read<R>(reader: &mut R) -> Result<InboundHTLCDetails, DecodeError>where
R: Read,
fn read<R>(reader: &mut R) -> Result<InboundHTLCDetails, DecodeError>where
R: Read,
Self
in from the given Read
.§impl Writeable for InboundHTLCDetails
impl Writeable for InboundHTLCDetails
impl StructuralPartialEq for InboundHTLCDetails
Auto Trait Implementations§
impl Freeze for InboundHTLCDetails
impl RefUnwindSafe for InboundHTLCDetails
impl Send for InboundHTLCDetails
impl Sync for InboundHTLCDetails
impl Unpin for InboundHTLCDetails
impl UnwindSafe for InboundHTLCDetails
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request