X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fchan_utils.rs;h=85490afaec1292bf792d245c18b13c3b54d78b0a;hb=67868aec721b38c993ce0e48ecc46549092963f6;hp=7fa2308d001cc59b97235bb466d97f7592e462d2;hpb=ed5f9f6a9b9f9fc84810cdc1c04ff0a1caa888ff;p=rust-lightning diff --git a/lightning/src/ln/chan_utils.rs b/lightning/src/ln/chan_utils.rs index 7fa2308d..85490afa 100644 --- a/lightning/src/ln/chan_utils.rs +++ b/lightning/src/ln/chan_utils.rs @@ -829,7 +829,6 @@ pub fn get_anchor_redeemscript(funding_pubkey: &PublicKey) -> Script { .into_script() } -#[cfg(anchors)] /// Locates the output with an anchor script paying to `funding_pubkey` within `commitment_tx`. pub(crate) fn get_anchor_output<'a>(commitment_tx: &'a Transaction, funding_pubkey: &PublicKey) -> Option<(u32, &'a TxOut)> { let anchor_script = chan_utils::get_anchor_redeemscript(funding_pubkey).to_v0_p2wsh(); @@ -939,7 +938,7 @@ impl Readable for ChannelTransactionParameters { let mut is_outbound_from_holder = RequiredWrapper(None); let mut counterparty_parameters = None; let mut funding_outpoint = None; - let mut legacy_deserialization_prevention_marker: Option<()> = None; + let mut _legacy_deserialization_prevention_marker: Option<()> = None; let mut channel_type_features = None; read_tlv_fields!(reader, { @@ -948,7 +947,7 @@ impl Readable for ChannelTransactionParameters { (4, is_outbound_from_holder, required), (6, counterparty_parameters, option), (8, funding_outpoint, option), - (10, legacy_deserialization_prevention_marker, option), + (10, _legacy_deserialization_prevention_marker, option), (11, channel_type_features, option), }); @@ -1057,7 +1056,7 @@ impl_writeable_tlv_based!(HolderCommitmentTransaction, { (0, inner, required), (2, counterparty_sig, required), (4, holder_sig_first, required), - (6, counterparty_htlc_sigs, vec_type), + (6, counterparty_htlc_sigs, required_vec), }); impl HolderCommitmentTransaction { @@ -1347,7 +1346,7 @@ impl Writeable for CommitmentTransaction { (6, self.feerate_per_kw, required), (8, self.keys, required), (10, self.built, required), - (12, self.htlcs, vec_type), + (12, self.htlcs, required_vec), (14, legacy_deserialization_prevention_marker, option), (15, self.channel_type_features, required), }); @@ -1357,25 +1356,15 @@ impl Writeable for CommitmentTransaction { impl Readable for CommitmentTransaction { fn read(reader: &mut R) -> Result { - let mut commitment_number = RequiredWrapper(None); - let mut to_broadcaster_value_sat = RequiredWrapper(None); - let mut to_countersignatory_value_sat = RequiredWrapper(None); - let mut feerate_per_kw = RequiredWrapper(None); - let mut keys = RequiredWrapper(None); - let mut built = RequiredWrapper(None); - _init_tlv_field_var!(htlcs, vec_type); - let mut legacy_deserialization_prevention_marker: Option<()> = None; - let mut channel_type_features = None; - - read_tlv_fields!(reader, { + _init_and_read_tlv_fields!(reader, { (0, commitment_number, required), (2, to_broadcaster_value_sat, required), (4, to_countersignatory_value_sat, required), (6, feerate_per_kw, required), (8, keys, required), (10, built, required), - (12, htlcs, vec_type), - (14, legacy_deserialization_prevention_marker, option), + (12, htlcs, required_vec), + (14, _legacy_deserialization_prevention_marker, option), (15, channel_type_features, option), }); @@ -1390,7 +1379,7 @@ impl Readable for CommitmentTransaction { feerate_per_kw: feerate_per_kw.0.unwrap(), keys: keys.0.unwrap(), built: built.0.unwrap(), - htlcs: _init_tlv_based_struct_field!(htlcs, vec_type), + htlcs, channel_type_features: channel_type_features.unwrap_or(ChannelTypeFeatures::only_static_remote_key()) }) }