@@ -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};
@@ -3496,6 +3498,9 @@ pub(super) struct Channel<SP: Deref> where SP::Target: SignerProvider {
3496
3498
pub context: ChannelContext<SP>,
3497
3499
#[cfg(any(dual_funding, splicing))]
3498
3500
pub dual_funding_channel_context: Option<DualFundingChannelContext>,
3501
+ /// The current interactive transaction construction session under negotiation.
3502
+ #[cfg(any(dual_funding, splicing))]
3503
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
3499
3504
}
3500
3505
3501
3506
#[cfg(any(test, fuzzing))]
@@ -7722,6 +7727,8 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
7722
7727
context: self.context,
7723
7728
#[cfg(any(dual_funding, splicing))]
7724
7729
dual_funding_channel_context: None,
7730
+ #[cfg(any(dual_funding, splicing))]
7731
+ interactive_tx_constructor: None,
7725
7732
};
7726
7733
7727
7734
let need_channel_ready = channel.check_get_channel_ready(0, logger).is_some();
@@ -7830,7 +7837,7 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
7830
7837
msg.push_msat,
7831
7838
msg.common_fields.clone(),
7832
7839
)?,
7833
- unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 }
7840
+ unfunded_context: UnfundedChannelContext { unfunded_channel_age_ticks: 0 },
7834
7841
};
7835
7842
Ok(chan)
7836
7843
}
@@ -8013,6 +8020,8 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8013
8020
context: self.context,
8014
8021
#[cfg(any(dual_funding, splicing))]
8015
8022
dual_funding_channel_context: None,
8023
+ #[cfg(any(dual_funding, splicing))]
8024
+ interactive_tx_constructor: None,
8016
8025
};
8017
8026
let need_channel_ready = channel.check_get_channel_ready(0, logger).is_some();
8018
8027
channel.monitor_updating_paused(false, false, need_channel_ready, Vec::new(), Vec::new(), Vec::new());
@@ -8026,8 +8035,9 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
8026
8035
pub(super) struct OutboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8027
8036
pub context: ChannelContext<SP>,
8028
8037
pub unfunded_context: UnfundedChannelContext,
8029
- #[cfg(any(dual_funding, splicing))]
8030
8038
pub dual_funding_context: DualFundingChannelContext,
8039
+ /// The current interactive transaction construction session under negotiation.
8040
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8031
8041
}
8032
8042
8033
8043
#[cfg(any(dual_funding, splicing))]
@@ -8078,7 +8088,9 @@ impl<SP: Deref> OutboundV2Channel<SP> where SP::Target: SignerProvider {
8078
8088
their_funding_satoshis: 0,
8079
8089
funding_tx_locktime,
8080
8090
funding_feerate_sat_per_1000_weight,
8081
- }
8091
+ },
8092
+ #[cfg(any(dual_funding, splicing))]
8093
+ interactive_tx_constructor: None,
8082
8094
};
8083
8095
Ok(chan)
8084
8096
}
@@ -8151,6 +8163,8 @@ pub(super) struct InboundV2Channel<SP: Deref> where SP::Target: SignerProvider {
8151
8163
pub context: ChannelContext<SP>,
8152
8164
pub unfunded_context: UnfundedChannelContext,
8153
8165
pub dual_funding_context: DualFundingChannelContext,
8166
+ /// The current interactive transaction construction session under negotiation.
8167
+ interactive_tx_constructor: Option<InteractiveTxConstructor>,
8154
8168
}
8155
8169
8156
8170
#[cfg(any(dual_funding, splicing))]
@@ -8223,7 +8237,8 @@ impl<SP: Deref> InboundV2Channel<SP> where SP::Target: SignerProvider {
8223
8237
their_funding_satoshis: msg.common_fields.funding_satoshis,
8224
8238
funding_tx_locktime: msg.locktime,
8225
8239
funding_feerate_sat_per_1000_weight: msg.funding_feerate_sat_per_1000_weight,
8226
- }
8240
+ },
8241
+ interactive_tx_constructor: None,
8227
8242
};
8228
8243
8229
8244
Ok(chan)
@@ -9349,6 +9364,8 @@ impl<'a, 'b, 'c, ES: Deref, SP: Deref> ReadableArgs<(&'a ES, &'b SP, u32, &'c Ch
9349
9364
},
9350
9365
#[cfg(any(dual_funding, splicing))]
9351
9366
dual_funding_channel_context: None,
9367
+ #[cfg(any(dual_funding, splicing))]
9368
+ interactive_tx_constructor: None,
9352
9369
})
9353
9370
}
9354
9371
}
0 commit comments