ChannelTransactionParameters

Struct ChannelTransactionParameters 

Source
pub struct ChannelTransactionParameters {
    pub holder_pubkeys: ChannelPublicKeys,
    pub holder_selected_contest_delay: u16,
    pub is_outbound_from_holder: bool,
    pub counterparty_parameters: Option<CounterpartyChannelTransactionParameters>,
    pub funding_outpoint: Option<OutPoint>,
    pub splice_parent_funding_txid: Option<Txid>,
    pub channel_type_features: ChannelTypeFeatures,
    pub channel_value_satoshis: u64,
}
Expand description

Per-channel data used to build transactions in conjunction with the per-commitment data (CommitmentTransaction). The fields are organized by holder/counterparty.

Normally, this is converted to the broadcaster/countersignatory-organized DirectedChannelTransactionParameters before use, via the as_holder_broadcastable and as_counterparty_broadcastable functions.

Fields§

§holder_pubkeys: ChannelPublicKeys

Holder public keys

§holder_selected_contest_delay: u16

The contest delay selected by the holder, which applies to counterparty-broadcast transactions

§is_outbound_from_holder: bool

Whether the holder is the initiator of this channel. This is an input to the commitment number obscure factor computation.

§counterparty_parameters: Option<CounterpartyChannelTransactionParameters>

The late-bound counterparty channel transaction parameters. These parameters are populated at the point in the protocol where the counterparty provides them.

§funding_outpoint: Option<OutPoint>

The late-bound funding outpoint

§splice_parent_funding_txid: Option<Txid>

The parent funding txid for a channel that has been spliced.

If a channel was funded with transaction A, and later spliced with transaction B, this field tracks the txid of transaction A.

See compute_funding_key_tweak and ChannelSigner::new_pubkeys for more context on how this may be used.

§channel_type_features: ChannelTypeFeatures

This channel’s type, as negotiated during channel open. For old objects where this field wasn’t serialized, it will default to static_remote_key at deserialization.

§channel_value_satoshis: u64

The value locked in the channel, denominated in satoshis.

Implementations§

Source§

impl ChannelTransactionParameters

Source

pub fn is_populated(&self) -> bool

Whether the late bound parameters are populated.

Source

pub fn as_holder_broadcastable( &self, ) -> DirectedChannelTransactionParameters<'_>

Convert the holder/counterparty parameters to broadcaster/countersignatory-organized parameters, given that the holder is the broadcaster.

self.is_populated() must be true before calling this function.

Source

pub fn as_counterparty_broadcastable( &self, ) -> DirectedChannelTransactionParameters<'_>

Convert the holder/counterparty parameters to broadcaster/countersignatory-organized parameters, given that the counterparty is the broadcaster.

self.is_populated() must be true before calling this function.

Source

pub fn counterparty_pubkeys(&self) -> Option<&ChannelPublicKeys>

Returns the counterparty’s pubkeys.

Trait Implementations§

Source§

impl Clone for ChannelTransactionParameters

Source§

fn clone(&self) -> ChannelTransactionParameters

Returns a duplicate 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 ChannelTransactionParameters

Source§

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

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

impl Hash for ChannelTransactionParameters

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for ChannelTransactionParameters

Source§

fn eq(&self, other: &ChannelTransactionParameters) -> 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 ReadableArgs<Option<u64>> for ChannelTransactionParameters

Source§

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

Reads a Self in from the given Read.
Source§

impl Writeable for ChannelTransactionParameters

Source§

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

Writes self out to the given Writer.
Source§

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

Writes self out to a Vec<u8>.
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§

impl Eq for ChannelTransactionParameters

Source§

impl StructuralPartialEq for ChannelTransactionParameters

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