pub struct HtlcKey(pub PublicKey);Expand description
A derived key built from a HtlcBasepoint and per_commitment_point.
HTLC keys are used to ensure only the recipient of an HTLC can claim it on-chain with the HTLC preimage and that only the sender of an HTLC can claim it on-chain after it has timed out. Thus, both channel counterparties’ HTLC keys will appears in each HTLC output’s script.
[See the BOLT specs] https://github.com/lightning/bolts/blob/master/03-transactions.md#localpubkey-local_htlcpubkey-remote_htlcpubkey-local_delayedpubkey-and-remote_delayedpubkey-derivation for more information on key derivation details.
Tuple Fields§
§0: PublicKeyImplementations§
Source§impl HtlcKey
impl HtlcKey
Sourcepub fn from_basepoint<T: Signing>(
secp_ctx: &Secp256k1<T>,
countersignatory_basepoint: &HtlcBasepoint,
per_commitment_point: &PublicKey,
) -> Self
pub fn from_basepoint<T: Signing>( secp_ctx: &Secp256k1<T>, countersignatory_basepoint: &HtlcBasepoint, per_commitment_point: &PublicKey, ) -> Self
Derive a public htlcpubkey using one node’s per_commitment_point and its countersignatory’s basepoint
Sourcepub fn from_secret_key<T: Signing>(
secp_ctx: &Secp256k1<T>,
sk: &SecretKey,
) -> Self
pub fn from_secret_key<T: Signing>( secp_ctx: &Secp256k1<T>, sk: &SecretKey, ) -> Self
Build a htlcpubkey directly from an already-derived private key
Sourcepub fn to_public_key(&self) -> PublicKey
pub fn to_public_key(&self) -> PublicKey
Get inner Public Key