@@ -27,6 +27,8 @@ use bitcoin::secp256k1;
27
27
28
28
use crate::ln::types::{ChannelId, PaymentPreimage, PaymentHash};
29
29
use crate::ln::features::{ChannelTypeFeatures, InitFeatures};
30
+ #[cfg(any(dual_funding, splicing))]
31
+ use crate::ln::interactivetxs::InteractiveTxConstructor;
30
32
use crate::ln::msgs;
31
33
use crate::ln::msgs::DecodeError;
32
34
use crate::ln::script::{self, ShutdownScript};
@@ -3415,6 +3417,9 @@ pub(super) struct Channel<SP: Deref> where SP::Target: SignerProvider {
3415
3417
pub context: ChannelContext<SP>,
3416
3418
#[cfg(any(dual_funding, splicing))]
3417
3419
pub dual_funding_channel_context: Option<DualFundingChannelContext>,
3420
+ /// The current interactive transaction construction session under negotiation.
3421
+ #[cfg(any(dual_funding, splicing))]
3422
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
3418
3423
}
3419
3424
3420
3425
#[cfg(any(test, fuzzing))]
@@ -7610,6 +7615,8 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
7610
7615
context: self.context,
7611
7616
#[cfg(any(dual_funding, splicing))]
7612
7617
dual_funding_channel_context: None,
7618
+ #[cfg(any(dual_funding, splicing))]
7619
+ interactive_tx_constructor: None,
7613
7620
};
7614
7621
7615
7622
let need_channel_ready = channel.check_get_channel_ready(0).is_some();
@@ -7718,7 +7725,7 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7718
7725
msg.push_msat,
7719
7726
msg.common_fields.clone(),
7720
7727
)?,
7721
- unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 }
7728
+ unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 },
7722
7729
};
7723
7730
Ok(chan)
7724
7731
}
@@ -7900,6 +7907,8 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7900
7907
context: self.context,
7901
7908
#[cfg(any(dual_funding, splicing))]
7902
7909
dual_funding_channel_context: None,
7910
+ #[cfg(any(dual_funding, splicing))]
7911
+ interactive_tx_constructor: None,
7903
7912
};
7904
7913
let need_channel_ready = channel.check_get_channel_ready(0).is_some();
7905
7914
channel.monitor_updating_paused(false, false, need_channel_ready, Vec::new(), Vec::new(), Vec::new());
@@ -7913,8 +7922,9 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7913
7922
pub(super) struct OutboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
7914
7923
pub context: ChannelContext<SP>,
7915
7924
pub unfunded_context: UnfundedChannelContext,
7916
- #[cfg(any(dual_funding, splicing))]
7917
7925
pub dual_funding_context: DualFundingChannelContext,
7926
+ /// The current interactive transaction construction session under negotiation.
7927
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
7918
7928
}
7919
7929
7920
7930
#[cfg(any(dual_funding, splicing))]
@@ -7965,7 +7975,9 @@ impl<SP: Deref> OutboundV2Channel<SP> where SP::Target: SignerProvider {
7965
7975
their_funding_satoshis: 0,
7966
7976
funding_tx_locktime,
7967
7977
funding_feerate_sat_per_1000_weight,
7968
- }
7978
+ },
7979
+ #[cfg(any(dual_funding, splicing))]
7980
+ interactive_tx_constructor: None,
7969
7981
};
7970
7982
Ok(chan)
7971
7983
}
@@ -8038,6 +8050,8 @@ pub(super) struct InboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8038
8050
pub context: ChannelContext<SP>,
8039
8051
pub unfunded_context: UnfundedChannelContext,
8040
8052
pub dual_funding_context: DualFundingChannelContext,
8053
+ /// The current interactive transaction construction session under negotiation.
8054
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8041
8055
}
8042
8056
8043
8057
#[cfg(any(dual_funding, splicing))]
@@ -8110,7 +8124,8 @@ impl<SP: Deref> InboundV2Channel<SP> where SP::Target: SignerProvider {
8110
8124
their_funding_satoshis: msg.common_fields.funding_satoshis,
8111
8125
funding_tx_locktime: msg.locktime,
8112
8126
funding_feerate_sat_per_1000_weight: msg.funding_feerate_sat_per_1000_weight,
8113
- }
8127
+ },
8128
+ interactive_tx_constructor: None,
8114
8129
};
8115
8130
8116
8131
Ok(chan)
@@ -9209,6 +9224,8 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
9209
9224
},
9210
9225
#[cfg(any(dual_funding, splicing))]
9211
9226
dual_funding_channel_context: None,
9227
+ #[cfg(any(dual_funding, splicing))]
9228
+ interactive_tx_constructor: None,
9212
9229
})
9213
9230
}
9214
9231
}
0 commit comments