breez_sdk_liquid::lightning_125::ln::channelmanager

Struct PendingHTLCInfo

pub struct PendingHTLCInfo {
    pub routing: PendingHTLCRouting,
    pub incoming_shared_secret: [u8; 32],
    pub payment_hash: PaymentHash,
    pub incoming_amt_msat: Option<u64>,
    pub outgoing_amt_msat: u64,
    pub outgoing_cltv_value: u32,
    pub skimmed_fee_msat: Option<u64>,
}
Expand description

Information about an incoming HTLC, including the PendingHTLCRouting describing where it should go next.

Fields§

§routing: PendingHTLCRouting

Further routing details based on whether the HTLC is being forwarded or received.

§incoming_shared_secret: [u8; 32]

The onion shared secret we build with the sender used to decrypt the onion.

This is later used to encrypt failure packets in the event that the HTLC is failed.

§payment_hash: PaymentHash

Hash of the payment preimage, to lock the payment until the receiver releases the preimage.

§incoming_amt_msat: Option<u64>

Amount received in the incoming HTLC.

This field was added in LDK 0.0.113 and will be None for objects written by prior versions.

§outgoing_amt_msat: u64

The amount the sender indicated should be forwarded on to the next hop or amount the sender intended for us to receive for received payments.

If the received amount is less than this for received payments, an intermediary hop has attempted to steal some of our funds and we should fail the HTLC (the sender should retry it along another path).

Because nodes can take less than their required fees, and because senders may wish to improve their own privacy, this amount may be less than Self::incoming_amt_msat for received payments. In such cases, recipients must handle this HTLC as if it had received Self::outgoing_amt_msat.

§outgoing_cltv_value: u32

The CLTV the sender has indicated we should set on the forwarded HTLC (or has indicated should have been set on the received HTLC for received payments).

§skimmed_fee_msat: Option<u64>

The fee taken for this HTLC in addition to the standard protocol HTLC fees.

If this is a payment for forwarding, this is the fee we are taking before forwarding the HTLC.

If this is a received payment, this is the fee that our counterparty took.

This is used to allow LSPs to take fees as a part of payments, without the sender having to shoulder them.

Trait Implementations§

§

impl Clone for PendingHTLCInfo

§

fn clone(&self) -> PendingHTLCInfo

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Readable for PendingHTLCInfo

§

fn read<R>(reader: &mut R) -> Result<PendingHTLCInfo, DecodeError>
where R: Read,

Reads a Self in from the given Read.
§

impl Writeable for PendingHTLCInfo

§

fn write<W>(&self, writer: &mut W) -> Result<(), Error>
where W: Writer,

Writes self out to the given Writer.
§

fn serialized_length(&self) -> usize

Gets the length of this object after it has been serialized. This can be overridden to optimize cases where we prepend an object with its length.
§

fn encode(&self) -> Vec<u8>

Writes self out to a Vec<u8>.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> MaybeReadable for T
where T: Readable,

§

fn read<R>(reader: &mut R) -> Result<Option<T>, DecodeError>
where R: Read,

Reads a Self in from the given Read.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> DartSafe for T

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T

§

impl<T> TaskRetFutTrait for T
where T: Send,