Struct lightning::ln::chan_utils::ChannelPublicKeys
source · pub struct ChannelPublicKeys {
pub funding_pubkey: PublicKey,
pub revocation_basepoint: PublicKey,
pub payment_point: PublicKey,
pub delayed_payment_basepoint: PublicKey,
pub htlc_basepoint: PublicKey,
}Expand description
One counterparty’s public keys which do not change over the life of a channel.
Fields§
§funding_pubkey: PublicKeyThe public key which is used to sign all commitment transactions, as it appears in the on-chain channel lock-in 2-of-2 multisig output.
revocation_basepoint: PublicKeyThe base point which is used (with derive_public_revocation_key) to derive per-commitment revocation keys. This is combined with the per-commitment-secret generated by the counterparty to create a secret which the counterparty can reveal to revoke previous states.
payment_point: PublicKeyThe public key on which the non-broadcaster (ie the countersignatory) receives an immediately spendable primary channel balance on the broadcaster’s commitment transaction. This key is static across every commitment transaction.
delayed_payment_basepoint: PublicKeyThe base point which is used (with derive_public_key) to derive a per-commitment payment public key which receives non-HTLC-encumbered funds which are only available for spending after some delay (or can be claimed via the revocation path).
htlc_basepoint: PublicKeyThe base point which is used (with derive_public_key) to derive a per-commitment public key which is used to encumber HTLC-in-flight outputs.
Trait Implementations§
source§impl Clone for ChannelPublicKeys
impl Clone for ChannelPublicKeys
source§fn clone(&self) -> ChannelPublicKeys
fn clone(&self) -> ChannelPublicKeys
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for ChannelPublicKeys
impl Debug for ChannelPublicKeys
source§impl PartialEq<ChannelPublicKeys> for ChannelPublicKeys
impl PartialEq<ChannelPublicKeys> for ChannelPublicKeys
source§fn eq(&self, other: &ChannelPublicKeys) -> bool
fn eq(&self, other: &ChannelPublicKeys) -> bool
self and other values to be equal, and is used
by ==.