Struct HTLCOutputInCommitment

Source
pub struct HTLCOutputInCommitment {
    pub offered: bool,
    pub amount_msat: u64,
    pub cltv_expiry: u32,
    pub payment_hash: PaymentHash,
    pub transaction_output_index: Option<u32>,
}
Expand description

Information about an HTLC as it appears in a commitment transaction

Fields§

§offered: bool

Whether the HTLC was “offered” (ie outbound in relation to this commitment transaction). Note that this is not the same as whether it is ountbound from us. To determine that you need to compare this value to whether the commitment transaction in question is that of the counterparty or our own.

§amount_msat: u64

The value, in msat, of the HTLC. The value as it appears in the commitment transaction is this divided by 1000.

§cltv_expiry: u32

The CLTV lock-time at which this HTLC expires.

§payment_hash: PaymentHash

The hash of the preimage which unlocks this HTLC.

§transaction_output_index: Option<u32>

The position within the commitment transactions’ outputs. This may be None if the value is below the dust limit (in which case no output appears in the commitment transaction and the value is spent to additional transaction fees).

Implementations§

Source§

impl HTLCOutputInCommitment

Source

pub const fn to_bitcoin_amount(&self) -> Amount

Converts HTLC’s value with millisatoshi precision into bitcoin::Amount with satoshi precision. Typically this conversion is needed when transitioning from LN into base-layer Bitcoin, e. g. in commitment transactions.

Trait Implementations§

Source§

impl Clone for HTLCOutputInCommitment

Source§

fn clone(&self) -> HTLCOutputInCommitment

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
Source§

impl Debug for HTLCOutputInCommitment

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for HTLCOutputInCommitment

Source§

fn eq(&self, other: &HTLCOutputInCommitment) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Readable for HTLCOutputInCommitment

Source§

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

Reads a Self in from the given Read.
Source§

impl Writeable for HTLCOutputInCommitment

Source§

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

Writes self out to the given Writer.
Source§

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.
Source§

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

Writes self out to a Vec<u8>.
Source§

impl Eq for HTLCOutputInCommitment

Source§

impl StructuralPartialEq for HTLCOutputInCommitment

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
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, dest: *mut u8)

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

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> MaybeReadable for T
where T: Readable,

Source§

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

Reads a Self in from the given Read.
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.