projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #2383 from henghonglee/fix-dyn
[rust-lightning]
/
lightning
/
src
/
ln
/
chan_utils.rs
diff --git
a/lightning/src/ln/chan_utils.rs
b/lightning/src/ln/chan_utils.rs
index d570347fef879af540cdfea9f5a68e9b22f3f57f..fd27d2308664469034564691395c263adb1808bb 100644
(file)
--- 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()
}
.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();
/// 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 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, {
let mut channel_type_features = None;
read_tlv_fields!(reader, {
@@
-948,10
+947,14
@@
impl Readable for ChannelTransactionParameters {
(4, is_outbound_from_holder, required),
(6, counterparty_parameters, option),
(8, funding_outpoint, option),
(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),
});
(11, channel_type_features, option),
});
+ let mut additional_features = ChannelTypeFeatures::empty();
+ additional_features.set_anchors_nonzero_fee_htlc_tx_required();
+ chain::package::verify_channel_type_features(&channel_type_features, Some(&additional_features))?;
+
Ok(Self {
holder_pubkeys: holder_pubkeys.0.unwrap(),
holder_selected_contest_delay: holder_selected_contest_delay.0.unwrap(),
Ok(Self {
holder_pubkeys: holder_pubkeys.0.unwrap(),
holder_selected_contest_delay: holder_selected_contest_delay.0.unwrap(),
@@
-1360,7
+1363,7
@@
impl Readable for CommitmentTransaction {
let mut keys = RequiredWrapper(None);
let mut built = RequiredWrapper(None);
_init_tlv_field_var!(htlcs, vec_type);
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
_
legacy_deserialization_prevention_marker: Option<()> = None;
let mut channel_type_features = None;
read_tlv_fields!(reader, {
let mut channel_type_features = None;
read_tlv_fields!(reader, {
@@
-1371,10
+1374,14
@@
impl Readable for CommitmentTransaction {
(8, keys, required),
(10, built, required),
(12, htlcs, vec_type),
(8, keys, required),
(10, built, required),
(12, htlcs, vec_type),
- (14, legacy_deserialization_prevention_marker, option),
+ (14,
_
legacy_deserialization_prevention_marker, option),
(15, channel_type_features, option),
});
(15, channel_type_features, option),
});
+ let mut additional_features = ChannelTypeFeatures::empty();
+ additional_features.set_anchors_nonzero_fee_htlc_tx_required();
+ chain::package::verify_channel_type_features(&channel_type_features, Some(&additional_features))?;
+
Ok(Self {
commitment_number: commitment_number.0.unwrap(),
to_broadcaster_value_sat: to_broadcaster_value_sat.0.unwrap(),
Ok(Self {
commitment_number: commitment_number.0.unwrap(),
to_broadcaster_value_sat: to_broadcaster_value_sat.0.unwrap(),