Struct ChannelReestablish

Source
pub struct ChannelReestablish {
    pub channel_id: ChannelId,
    pub next_local_commitment_number: u64,
    pub next_remote_commitment_number: u64,
    pub your_last_per_commitment_secret: [u8; 32],
    pub my_current_per_commitment_point: PublicKey,
    pub next_funding: Option<NextFunding>,
    pub my_current_funding_locked: Option<FundingLocked>,
}
Expand description

A channel_reestablish message to be sent to or received from a peer.

Fields§

§channel_id: ChannelId

The channel ID

§next_local_commitment_number: u64

The next commitment number for the sender

§next_remote_commitment_number: u64

The next commitment number for the recipient

§your_last_per_commitment_secret: [u8; 32]

Proof that the sender knows the per-commitment secret of a specific commitment transaction belonging to the recipient

§my_current_per_commitment_point: PublicKey

The sender’s per-commitment point for their current commitment transaction

§next_funding: Option<NextFunding>

The next funding transaction ID

Allows peers to finalize the signing steps of an interactive transaction construction, or safely abort that transaction if it was not signed by one of the peers, who has thus already removed it from its state.

If we’ve sent commtiment_signed for an interactively constructed transaction during a signing session, but have not received tx_signatures we MUST set next_funding to the txid of that interactive transaction, else we MUST NOT set it.

See the spec for further details on this:

  • channel_reestablish-sending node: https:///github.com/lightning/bolts/blob/247e83d/02-peer-protocol.md?plain=1#L2466-L2470
  • channel_reestablish-receiving node: https:///github.com/lightning/bolts/blob/247e83d/02-peer-protocol.md?plain=1#L2520-L2531
§my_current_funding_locked: Option<FundingLocked>

The last funding txid sent by the sending node, which may be:

  • the txid of the last splice_locked it sent, otherwise
  • the txid of the funding transaction if it sent channel_ready, or else
  • None if it has never sent channel_ready or splice_locked

Also contains a bitfield indicating which messages should be retransmitted.

Trait Implementations§

Source§

impl Clone for ChannelReestablish

Source§

fn clone(&self) -> ChannelReestablish

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 ChannelReestablish

Source§

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

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

impl Hash for ChannelReestablish

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 LengthReadable for ChannelReestablish

Source§

impl PartialEq for ChannelReestablish

Source§

fn eq(&self, other: &ChannelReestablish) -> 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 Writeable for ChannelReestablish

Source§

fn write<W: Writer>(&self, w: &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 ChannelReestablish

Source§

impl StructuralPartialEq for ChannelReestablish

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

impl<T> Type for T
where T: Encode + Debug + Writeable,

Source§

fn type_id(&self) -> u16

Returns the type identifying the message payload.
Source§

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

Source§

fn vzip(self) -> V