@@ -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};
@@ -3602,6 +3604,9 @@ pub(super) struct Channel<SP: Deref> where SP::Target: SignerProvider {
3602
3604
pub context: ChannelContext<SP>,
3603
3605
#[cfg(any(dual_funding, splicing))]
3604
3606
pub dual_funding_channel_context: Option<DualFundingChannelContext>,
3607
+ /// The current interactive transaction construction session under negotiation.
3608
+ #[cfg(any(dual_funding, splicing))]
3609
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
3605
3610
}
3606
3611
3607
3612
#[cfg(any(test, fuzzing))]
@@ -7797,6 +7802,8 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
7797
7802
context: self.context,
7798
7803
#[cfg(any(dual_funding, splicing))]
7799
7804
dual_funding_channel_context: None,
7805
+ #[cfg(any(dual_funding, splicing))]
7806
+ interactive_tx_constructor: None,
7800
7807
};
7801
7808
7802
7809
let need_channel_ready = channel.check_get_channel_ready(0).is_some();
@@ -7905,7 +7912,7 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7905
7912
msg.push_msat,
7906
7913
msg.common_fields.clone(),
7907
7914
)?,
7908
- unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 }
7915
+ unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 },
7909
7916
};
7910
7917
Ok(chan)
7911
7918
}
@@ -8087,6 +8094,8 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8087
8094
context: self.context,
8088
8095
#[cfg(any(dual_funding, splicing))]
8089
8096
dual_funding_channel_context: None,
8097
+ #[cfg(any(dual_funding, splicing))]
8098
+ interactive_tx_constructor: None,
8090
8099
};
8091
8100
let need_channel_ready = channel.check_get_channel_ready(0).is_some();
8092
8101
channel.monitor_updating_paused(false, false, need_channel_ready, Vec::new(), Vec::new(), Vec::new());
@@ -8100,8 +8109,9 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8100
8109
pub(super) struct OutboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8101
8110
pub context: ChannelContext<SP>,
8102
8111
pub unfunded_context: UnfundedChannelContext,
8103
- #[cfg(any(dual_funding, splicing))]
8104
8112
pub dual_funding_context: DualFundingChannelContext,
8113
+ /// The current interactive transaction construction session under negotiation.
8114
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8105
8115
}
8106
8116
8107
8117
#[cfg(any(dual_funding, splicing))]
@@ -8152,7 +8162,9 @@ impl<SP: Deref> OutboundV2Channel<SP> where SP::Target: SignerProvider {
8152
8162
their_funding_satoshis: 0,
8153
8163
funding_tx_locktime,
8154
8164
funding_feerate_sat_per_1000_weight,
8155
- }
8165
+ },
8166
+ #[cfg(any(dual_funding, splicing))]
8167
+ interactive_tx_constructor: None,
8156
8168
};
8157
8169
Ok(chan)
8158
8170
}
@@ -8225,6 +8237,8 @@ pub(super) struct InboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8225
8237
pub context: ChannelContext<SP>,
8226
8238
pub unfunded_context: UnfundedChannelContext,
8227
8239
pub dual_funding_context: DualFundingChannelContext,
8240
+ /// The current interactive transaction construction session under negotiation.
8241
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8228
8242
}
8229
8243
8230
8244
#[cfg(any(dual_funding, splicing))]
@@ -8297,7 +8311,8 @@ impl<SP: Deref> InboundV2Channel<SP> where SP::Target: SignerProvider {
8297
8311
their_funding_satoshis: msg.common_fields.funding_satoshis,
8298
8312
funding_tx_locktime: msg.locktime,
8299
8313
funding_feerate_sat_per_1000_weight: msg.funding_feerate_sat_per_1000_weight,
8300
- }
8314
+ },
8315
+ interactive_tx_constructor: None,
8301
8316
};
8302
8317
8303
8318
Ok(chan)
@@ -9396,6 +9411,8 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
9396
9411
},
9397
9412
#[cfg(any(dual_funding, splicing))]
9398
9413
dual_funding_channel_context: None,
9414
+ #[cfg(any(dual_funding, splicing))]
9415
+ interactive_tx_constructor: None,
9399
9416
})
9400
9417
}
9401
9418
}
0 commit comments