@@ -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};
@@ -3633,6 +3635,9 @@ pub(super) struct Channel<SP: Deref> where SP::Target: SignerProvider {
3633
3635
pub context: ChannelContext<SP>,
3634
3636
#[cfg(any(dual_funding, splicing))]
3635
3637
pub dual_funding_channel_context: Option<DualFundingChannelContext>,
3638
+ /// The current interactive transaction construction session under negotiation.
3639
+ #[cfg(any(dual_funding, splicing))]
3640
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
3636
3641
}
3637
3642
3638
3643
#[cfg(any(test, fuzzing))]
@@ -7734,6 +7739,8 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
7734
7739
context: self.context,
7735
7740
#[cfg(any(dual_funding, splicing))]
7736
7741
dual_funding_channel_context: None,
7742
+ #[cfg(any(dual_funding, splicing))]
7743
+ interactive_tx_constructor: None,
7737
7744
};
7738
7745
7739
7746
let need_channel_ready = channel.check_get_channel_ready(0, logger).is_some();
@@ -7842,7 +7849,7 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7842
7849
msg.push_msat,
7843
7850
msg.common_fields.clone(),
7844
7851
)?,
7845
- unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 }
7852
+ unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 },
7846
7853
};
7847
7854
Ok(chan)
7848
7855
}
@@ -8025,6 +8032,8 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8025
8032
context: self.context,
8026
8033
#[cfg(any(dual_funding, splicing))]
8027
8034
dual_funding_channel_context: None,
8035
+ #[cfg(any(dual_funding, splicing))]
8036
+ interactive_tx_constructor: None,
8028
8037
};
8029
8038
let need_channel_ready = channel.check_get_channel_ready(0, logger).is_some();
8030
8039
channel.monitor_updating_paused(false, false, need_channel_ready, Vec::new(), Vec::new(), Vec::new());
@@ -8038,8 +8047,9 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8038
8047
pub(super) struct OutboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8039
8048
pub context: ChannelContext<SP>,
8040
8049
pub unfunded_context: UnfundedChannelContext,
8041
- #[cfg(any(dual_funding, splicing))]
8042
8050
pub dual_funding_context: DualFundingChannelContext,
8051
+ /// The current interactive transaction construction session under negotiation.
8052
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8043
8053
}
8044
8054
8045
8055
#[cfg(any(dual_funding, splicing))]
@@ -8090,7 +8100,9 @@ impl<SP: Deref> OutboundV2Channel<SP> where SP::Target: SignerProvider {
8090
8100
their_funding_satoshis: 0,
8091
8101
funding_tx_locktime,
8092
8102
funding_feerate_sat_per_1000_weight,
8093
- }
8103
+ },
8104
+ #[cfg(any(dual_funding, splicing))]
8105
+ interactive_tx_constructor: None,
8094
8106
};
8095
8107
Ok(chan)
8096
8108
}
@@ -8163,6 +8175,8 @@ pub(super) struct InboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8163
8175
pub context: ChannelContext<SP>,
8164
8176
pub unfunded_context: UnfundedChannelContext,
8165
8177
pub dual_funding_context: DualFundingChannelContext,
8178
+ /// The current interactive transaction construction session under negotiation.
8179
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8166
8180
}
8167
8181
8168
8182
#[cfg(any(dual_funding, splicing))]
@@ -8235,7 +8249,8 @@ impl<SP: Deref> InboundV2Channel<SP> where SP::Target: SignerProvider {
8235
8249
their_funding_satoshis: msg.common_fields.funding_satoshis,
8236
8250
funding_tx_locktime: msg.locktime,
8237
8251
funding_feerate_sat_per_1000_weight: msg.funding_feerate_sat_per_1000_weight,
8238
- }
8252
+ },
8253
+ interactive_tx_constructor: None,
8239
8254
};
8240
8255
8241
8256
Ok(chan)
@@ -9361,6 +9376,8 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
9361
9376
},
9362
9377
#[cfg(any(dual_funding, splicing))]
9363
9378
dual_funding_channel_context: None,
9379
+ #[cfg(any(dual_funding, splicing))]
9380
+ interactive_tx_constructor: None,
9364
9381
})
9365
9382
}
9366
9383
}
0 commit comments