Skip to content

Commit 490b2ac

Browse files
committed
Reintroduce cfg(dual_funding) for handling of open_channel2 messages
1 parent fa58f3a commit 490b2ac

File tree

7 files changed

+33
-21
lines changed

7 files changed

+33
-21
lines changed

Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,5 @@ check-cfg = [
6565
"cfg(require_route_graph_test)",
6666
"cfg(splicing)",
6767
"cfg(async_payments)",
68+
"cfg(dual_funding)",
6869
]

lightning-net-tokio/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,7 @@ mod tests {
742742
) {
743743
}
744744
fn handle_channel_update(&self, _their_node_id: PublicKey, _msg: &ChannelUpdate) {}
745+
#[cfg(dual_funding)]
745746
fn handle_open_channel_v2(&self, _their_node_id: PublicKey, _msg: &OpenChannelV2) {}
746747
fn handle_accept_channel_v2(&self, _their_node_id: PublicKey, _msg: &AcceptChannelV2) {}
747748
fn handle_stfu(&self, _their_node_id: PublicKey, _msg: &Stfu) {}

lightning/src/ln/channelmanager.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11269,6 +11269,7 @@ where
1126911269
});
1127011270
}
1127111271

11272+
#[cfg(dual_funding)]
1127211273
fn handle_open_channel_v2(&self, counterparty_node_id: PublicKey, msg: &msgs::OpenChannelV2) {
1127311274
// Note that we never need to persist the updated ChannelManager for an inbound
1127411275
// open_channel message - pre-funded channels are never written so there should be no

lightning/src/ln/dual_funding_tests.rs

+24-19
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,36 @@
99

1010
//! Tests that test the creation of dual-funded channels in ChannelManager.
1111
12-
use bitcoin::Weight;
13-
14-
use crate::chain::chaininterface::{ConfirmationTarget, FeeEstimator, LowerBoundedFeeEstimator};
15-
use crate::events::{Event, MessageSendEvent, MessageSendEventsProvider};
16-
use crate::ln::chan_utils::{
17-
make_funding_redeemscript, ChannelPublicKeys, ChannelTransactionParameters,
18-
CounterpartyChannelTransactionParameters,
19-
};
20-
use crate::ln::channel::{
21-
calculate_our_funding_satoshis, OutboundV2Channel, MIN_CHAN_DUST_LIMIT_SATOSHIS,
12+
#[cfg(dual_funding)]
13+
use {
14+
crate::chain::chaininterface::{ConfirmationTarget, FeeEstimator, LowerBoundedFeeEstimator},
15+
crate::events::{Event, MessageSendEvent, MessageSendEventsProvider},
16+
crate::ln::chan_utils::{
17+
make_funding_redeemscript, ChannelPublicKeys, ChannelTransactionParameters,
18+
CounterpartyChannelTransactionParameters,
19+
},
20+
crate::ln::channel::{
21+
calculate_our_funding_satoshis, OutboundV2Channel, MIN_CHAN_DUST_LIMIT_SATOSHIS,
22+
},
23+
crate::ln::channel_keys::{DelayedPaymentBasepoint, HtlcBasepoint, RevocationBasepoint},
24+
crate::ln::functional_test_utils::*,
25+
crate::ln::msgs::ChannelMessageHandler,
26+
crate::ln::msgs::{CommitmentSigned, TxAddInput, TxAddOutput, TxComplete},
27+
crate::ln::types::ChannelId,
28+
crate::prelude::*,
29+
crate::sign::{ChannelSigner as _, P2WPKH_WITNESS_WEIGHT},
30+
crate::util::ser::TransactionU16LenLimited,
31+
crate::util::test_utils,
32+
bitcoin::Weight,
2233
};
23-
use crate::ln::channel_keys::{DelayedPaymentBasepoint, HtlcBasepoint, RevocationBasepoint};
24-
use crate::ln::functional_test_utils::*;
25-
use crate::ln::msgs::ChannelMessageHandler;
26-
use crate::ln::msgs::{CommitmentSigned, TxAddInput, TxAddOutput, TxComplete};
27-
use crate::ln::types::ChannelId;
28-
use crate::prelude::*;
29-
use crate::sign::{ChannelSigner as _, P2WPKH_WITNESS_WEIGHT};
30-
use crate::util::ser::TransactionU16LenLimited;
31-
use crate::util::test_utils;
3234

35+
#[cfg(dual_funding)]
3336
// Dual-funding: V2 Channel Establishment Tests
3437
struct V2ChannelEstablishmentTestSession {
3538
initiator_input_value_satoshis: u64,
3639
}
3740

41+
#[cfg(dual_funding)]
3842
// TODO(dual_funding): Use real node and API for creating V2 channels as initiator when available,
3943
// instead of manually constructing messages.
4044
fn do_test_v2_channel_establishment(
@@ -252,6 +256,7 @@ fn do_test_v2_channel_establishment(
252256
}
253257

254258
#[test]
259+
#[cfg(dual_funding)]
255260
fn test_v2_channel_establishment() {
256261
// Only initiator contributes, no persist pending
257262
do_test_v2_channel_establishment(

lightning/src/ln/msgs.rs

+1
Original file line numberDiff line numberDiff line change
@@ -1494,6 +1494,7 @@ pub trait ChannelMessageHandler : MessageSendEventsProvider {
14941494
/// Handle an incoming `open_channel` message from the given peer.
14951495
fn handle_open_channel(&self, their_node_id: PublicKey, msg: &OpenChannel);
14961496
/// Handle an incoming `open_channel2` message from the given peer.
1497+
#[cfg(dual_funding)]
14971498
fn handle_open_channel_v2(&self, their_node_id: PublicKey, msg: &OpenChannelV2);
14981499
/// Handle an incoming `accept_channel` message from the given peer.
14991500
fn handle_accept_channel(&self, their_node_id: PublicKey, msg: &AcceptChannel);

lightning/src/ln/peer_handler.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ impl ChannelMessageHandler for ErroringMessageHandler {
355355
None
356356
}
357357

358+
#[cfg(dual_funding)]
358359
fn handle_open_channel_v2(&self, their_node_id: PublicKey, msg: &msgs::OpenChannelV2) {
359360
ErroringMessageHandler::push_error(self, their_node_id, msg.common_fields.temporary_channel_id);
360361
}
@@ -1820,8 +1821,9 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CM
18201821
wire::Message::OpenChannel(msg) => {
18211822
self.message_handler.chan_handler.handle_open_channel(their_node_id, &msg);
18221823
},
1823-
wire::Message::OpenChannelV2(msg) => {
1824-
self.message_handler.chan_handler.handle_open_channel_v2(their_node_id, &msg);
1824+
wire::Message::OpenChannelV2(_msg) => {
1825+
#[cfg(dual_funding)]
1826+
self.message_handler.chan_handler.handle_open_channel_v2(their_node_id, &_msg);
18251827
},
18261828
wire::Message::AcceptChannel(msg) => {
18271829
self.message_handler.chan_handler.handle_accept_channel(their_node_id, &msg);

lightning/src/util/test_utils.rs

+1
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,7 @@ impl msgs::ChannelMessageHandler for TestChannelMessageHandler {
872872
Some(vec![self.chain_hash])
873873
}
874874

875+
#[cfg(dual_funding)]
875876
fn handle_open_channel_v2(&self, _their_node_id: PublicKey, msg: &msgs::OpenChannelV2) {
876877
self.received_msg(wire::Message::OpenChannelV2(msg.clone()));
877878
}

0 commit comments

Comments
 (0)