@@ -48,7 +48,9 @@ use crate::events::{self, Event, EventHandler, EventsProvider, InboundChannelFun
4848use crate::ln::inbound_payment;
4949use crate::ln::types::ChannelId;
5050use crate::types::payment::{PaymentHash, PaymentPreimage, PaymentSecret};
51- use crate::ln::channel::{self, Channel, ChannelPhase, ChannelError, ChannelUpdateStatus, ShutdownResult, UpdateFulfillCommitFetch, OutboundV1Channel, InboundV1Channel, WithChannelContext, InboundV2Channel, InteractivelyFunded as _};
51+ use crate::ln::channel::{self, Channel, ChannelPhase, ChannelError, ChannelUpdateStatus, ShutdownResult, UpdateFulfillCommitFetch, OutboundV1Channel, InboundV1Channel, WithChannelContext, InteractivelyFunded as _};
52+ #[cfg(dual_funding)]
53+ use crate::ln::channel::InboundV2Channel;
5254use crate::ln::channel_state::ChannelDetails;
5355use crate::types::features::{Bolt12InvoiceFeatures, ChannelFeatures, ChannelTypeFeatures, InitFeatures, NodeFeatures};
5456#[cfg(any(feature = "_test_utils", test))]
@@ -1376,11 +1378,13 @@ impl <SP: Deref> PeerState<SP> where SP::Target: SignerProvider {
13761378#[derive(Clone)]
13771379pub(super) enum OpenChannelMessage {
13781380 V1(msgs::OpenChannel),
1381+ #[cfg(dual_funding)]
13791382 V2(msgs::OpenChannelV2),
13801383}
13811384
13821385pub(super) enum OpenChannelMessageRef<'a> {
13831386 V1(&'a msgs::OpenChannel),
1387+ #[cfg(dual_funding)]
13841388 V2(&'a msgs::OpenChannelV2),
13851389}
13861390
@@ -7686,8 +7690,8 @@ where
76867690
76877691 fn do_accept_inbound_channel(
76887692 &self, temporary_channel_id: &ChannelId, counterparty_node_id: &PublicKey, accept_0conf: bool,
7689- user_channel_id: u128, funding_inputs : Vec<(TxIn, TransactionU16LenLimited)>,
7690- total_witness_weight : Weight,
7693+ user_channel_id: u128, _funding_inputs : Vec<(TxIn, TransactionU16LenLimited)>,
7694+ _total_witness_weight : Weight,
76917695 ) -> Result<(), APIError> {
76927696 let logger = WithContext::from(&self.logger, Some(*counterparty_node_id), Some(*temporary_channel_id), None);
76937697 let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
@@ -7728,10 +7732,11 @@ where
77287732 (*temporary_channel_id, ChannelPhase::UnfundedInboundV1(channel), message_send_event)
77297733 })
77307734 },
7735+ #[cfg(dual_funding)]
77317736 OpenChannelMessage::V2(open_channel_msg) => {
77327737 InboundV2Channel::new(&self.fee_estimator, &self.entropy_source, &self.signer_provider,
77337738 self.get_our_node_id(), *counterparty_node_id, &self.channel_type_features(), &peer_state.latest_features,
7734- &open_channel_msg, funding_inputs, total_witness_weight , user_channel_id,
7739+ &open_channel_msg, _funding_inputs, _total_witness_weight , user_channel_id,
77357740 &self.default_configuration, best_block_height, &self.logger
77367741 ).map_err(|_| MsgHandleErrInternal::from_chan_no_close(
77377742 ChannelError::Close(
@@ -7882,6 +7887,7 @@ where
78827887 fn internal_open_channel(&self, counterparty_node_id: &PublicKey, msg: OpenChannelMessageRef<'_>) -> Result<(), MsgHandleErrInternal> {
78837888 let common_fields = match msg {
78847889 OpenChannelMessageRef::V1(msg) => &msg.common_fields,
7890+ #[cfg(dual_funding)]
78857891 OpenChannelMessageRef::V2(msg) => &msg.common_fields,
78867892 };
78877893
@@ -7959,6 +7965,7 @@ where
79597965 funding_satoshis: common_fields.funding_satoshis,
79607966 channel_negotiation_type: match msg {
79617967 OpenChannelMessageRef::V1(msg) => InboundChannelFunds::PushMsat(msg.push_msat),
7968+ #[cfg(dual_funding)]
79627969 OpenChannelMessageRef::V2(_) => InboundChannelFunds::DualFunded,
79637970 },
79647971 channel_type,
@@ -7968,6 +7975,7 @@ where
79687975 peer_state.inbound_channel_request_by_id.insert(channel_id, InboundChannelRequest {
79697976 open_channel_msg: match msg {
79707977 OpenChannelMessageRef::V1(msg) => OpenChannelMessage::V1(msg.clone()),
7978+ #[cfg(dual_funding)]
79717979 OpenChannelMessageRef::V2(msg) => OpenChannelMessage::V2(msg.clone()),
79727980 },
79737981 ticks_remaining: UNACCEPTED_INBOUND_CHANNEL_AGE_LIMIT_TICKS,
@@ -8000,6 +8008,7 @@ where
80008008 };
80018009 (ChannelPhase::UnfundedInboundV1(channel), message_send_event)
80028010 },
8011+ #[cfg(dual_funding)]
80038012 OpenChannelMessageRef::V2(msg) => {
80048013 let channel = InboundV2Channel::new(&self.fee_estimator, &self.entropy_source,
80058014 &self.signer_provider, self.get_our_node_id(), *counterparty_node_id,
@@ -11269,6 +11278,7 @@ where
1126911278 });
1127011279 }
1127111280
11281+ #[cfg(dual_funding)]
1127211282 fn handle_open_channel_v2(&self, counterparty_node_id: PublicKey, msg: &msgs::OpenChannelV2) {
1127311283 // Note that we never need to persist the updated ChannelManager for an inbound
1127411284 // open_channel message - pre-funded channels are never written so there should be no
0 commit comments