Struct OutboundHTLCDetails
pub struct OutboundHTLCDetails {
pub htlc_id: Option<u64>,
pub amount_msat: u64,
pub cltv_expiry: u32,
pub payment_hash: PaymentHash,
pub state: Option<OutboundHTLCStateDetails>,
pub skimmed_fee_msat: Option<u64>,
pub is_dust: bool,
}
Expand description
Exposes details around pending outbound HTLCs.
Fields§
§htlc_id: Option<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.
Not present when we are awaiting a remote revocation and the HTLC is not added yet.
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<OutboundHTLCStateDetails>
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 OutboundHTLCStateDetails
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.
skimmed_fee_msat: Option<u64>
The extra fee being skimmed off the top of this HTLC.
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 OutboundHTLCDetails
impl Clone for OutboundHTLCDetails
§fn clone(&self) -> OutboundHTLCDetails
fn clone(&self) -> OutboundHTLCDetails
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for OutboundHTLCDetails
impl Debug for OutboundHTLCDetails
§impl PartialEq for OutboundHTLCDetails
impl PartialEq for OutboundHTLCDetails
§impl Readable for OutboundHTLCDetails
impl Readable for OutboundHTLCDetails
§fn read<R>(reader: &mut R) -> Result<OutboundHTLCDetails, DecodeError>where
R: Read,
fn read<R>(reader: &mut R) -> Result<OutboundHTLCDetails, DecodeError>where
R: Read,
Self
in from the given Read
.§impl Writeable for OutboundHTLCDetails
impl Writeable for OutboundHTLCDetails
impl StructuralPartialEq for OutboundHTLCDetails
Auto Trait Implementations§
impl Freeze for OutboundHTLCDetails
impl RefUnwindSafe for OutboundHTLCDetails
impl Send for OutboundHTLCDetails
impl Sync for OutboundHTLCDetails
impl Unpin for OutboundHTLCDetails
impl UnwindSafe for OutboundHTLCDetails
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