Struct lightning::ln::chan_utils::TrustedCommitmentTransaction [−][src]
pub struct TrustedCommitmentTransaction<'a> { /* fields omitted */ }
Expand description
A wrapper on CommitmentTransaction indicating that the derived fields (the built bitcoin transaction and the transaction creation keys) are trusted.
See trust() and verify() functions on CommitmentTransaction.
This structure implements Deref.
Implementations
The pre-built Bitcoin commitment transaction
The pre-calculated transaction creation public keys.
Should anchors be used.
pub fn get_htlc_sigs<T: Signing>(
&self,
htlc_base_key: &SecretKey,
channel_parameters: &DirectedChannelTransactionParameters<'_>,
secp_ctx: &Secp256k1<T>
) -> Result<Vec<Signature>, ()>
pub fn get_htlc_sigs<T: Signing>(
&self,
htlc_base_key: &SecretKey,
channel_parameters: &DirectedChannelTransactionParameters<'_>,
secp_ctx: &Secp256k1<T>
) -> Result<Vec<Signature>, ()>
Get a signature for each HTLC which was included in the commitment transaction (ie for which HTLCOutputInCommitment::transaction_output_index.is_some()).
The returned Vec has one entry for each HTLC, and in the same order.
Methods from Deref<Target = CommitmentTransaction>
The backwards-counting commitment number
The value to be sent to the broadcaster
The value to be sent to the counterparty
The feerate paid per 1000-weight-unit in this commitment transaction.
The non-dust HTLCs (direction, amt, height expiration, hash, transaction output index) which were included in this commitment transaction in output order. The transaction index is always populated.
(C-not exported) as we cannot currently convert Vec references to/from C, though we should expose a less effecient version which creates a Vec of references in the future.
Trust our pre-built transaction and derived transaction creation public keys.
Applies a wrapper which allows access to these fields.
This should only be used if you fully trust the builder of this object. It should not be used by an external signer - instead use the verify function.
pub fn verify<T: Signing + Verification>(
&self,
channel_parameters: &DirectedChannelTransactionParameters<'_>,
broadcaster_keys: &ChannelPublicKeys,
countersignatory_keys: &ChannelPublicKeys,
secp_ctx: &Secp256k1<T>
) -> Result<TrustedCommitmentTransaction<'_>, ()>
pub fn verify<T: Signing + Verification>(
&self,
channel_parameters: &DirectedChannelTransactionParameters<'_>,
broadcaster_keys: &ChannelPublicKeys,
countersignatory_keys: &ChannelPublicKeys,
secp_ctx: &Secp256k1<T>
) -> Result<TrustedCommitmentTransaction<'_>, ()>
Verify our pre-built transaction and derived transaction creation public keys.
Applies a wrapper which allows access to these fields.
An external validating signer must call this method before signing or using the built transaction.
Trait Implementations
type Target = CommitmentTransaction
type Target = CommitmentTransaction
The resulting type after dereferencing.