1- use lightning_types:: features:: ChannelTypeFeatures ;
21use crate :: events:: Event ;
3- use crate :: util:: config:: { ChannelConfigOverrides , UserConfig , ChannelHandshakeConfigUpdate } ;
42use crate :: ln:: functional_test_utils:: * ;
5- use crate :: ln:: msgs:: { BaseMessageHandler , ChannelMessageHandler , AcceptChannel , ErrorAction , MessageSendEvent } ;
3+ use crate :: ln:: msgs:: {
4+ AcceptChannel , BaseMessageHandler , ChannelMessageHandler , ErrorAction , MessageSendEvent ,
5+ } ;
6+ use crate :: util:: config:: { ChannelConfigOverrides , ChannelHandshakeConfigUpdate , UserConfig } ;
7+ use lightning_types:: features:: ChannelTypeFeatures ;
68
79#[ test]
810fn test_inbound_anchors_manual_acceptance ( ) {
@@ -28,8 +30,7 @@ fn test_inbound_anchors_manual_acceptance_overridden() {
2830 let mut anchors_cfg = test_default_channel_config ( ) ;
2931 anchors_cfg. channel_handshake_config . negotiate_anchors_zero_fee_htlc_tx = true ;
3032
31- let accept_message =
32- do_test_manual_inbound_accept_with_override ( anchors_cfg, Some ( overrides) ) ;
33+ let accept_message = do_test_manual_inbound_accept_with_override ( anchors_cfg, Some ( overrides) ) ;
3334 assert_eq ! ( accept_message. common_fields. max_htlc_value_in_flight_msat, 5_000_000 ) ;
3435 assert_eq ! ( accept_message. common_fields. htlc_minimum_msat, 1_000 ) ;
3536 assert_eq ! ( accept_message. common_fields. minimum_depth, 2 ) ;
@@ -45,21 +46,30 @@ fn test_inbound_zero_fee_commitments_manual_acceptance() {
4546 do_test_manual_inbound_accept_with_override ( zero_fee_cfg, None ) ;
4647}
4748
48- #[ rustfmt:: skip]
49- fn do_test_manual_inbound_accept_with_override ( start_cfg : UserConfig ,
50- config_overrides : Option < ChannelConfigOverrides > ) -> AcceptChannel {
51-
49+ fn do_test_manual_inbound_accept_with_override (
50+ start_cfg : UserConfig , config_overrides : Option < ChannelConfigOverrides > ,
51+ ) -> AcceptChannel {
5252 let mut mannual_accept_cfg = start_cfg. clone ( ) ;
5353 mannual_accept_cfg. manually_accept_inbound_channels = true ;
5454
5555 let chanmon_cfgs = create_chanmon_cfgs ( 3 ) ;
5656 let node_cfgs = create_node_cfgs ( 3 , & chanmon_cfgs) ;
57- let node_chanmgrs = create_node_chanmgrs ( 3 , & node_cfgs,
58- & [ Some ( start_cfg. clone ( ) ) , Some ( start_cfg. clone ( ) ) , Some ( mannual_accept_cfg. clone ( ) ) ] ) ;
57+ let node_chanmgrs = create_node_chanmgrs (
58+ 3 ,
59+ & node_cfgs,
60+ & [ Some ( start_cfg. clone ( ) ) , Some ( start_cfg. clone ( ) ) , Some ( mannual_accept_cfg. clone ( ) ) ] ,
61+ ) ;
5962 let nodes = create_network ( 3 , & node_cfgs, & node_chanmgrs) ;
6063
61- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None ) . unwrap ( ) ;
62- let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
64+ nodes[ 0 ]
65+ . node
66+ . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 42 , None , None )
67+ . unwrap ( ) ;
68+ let open_channel_msg = get_event_msg ! (
69+ nodes[ 0 ] ,
70+ MessageSendEvent :: SendOpenChannel ,
71+ nodes[ 1 ] . node. get_our_node_id( )
72+ ) ;
6373
6474 nodes[ 1 ] . node . handle_open_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
6575 assert ! ( nodes[ 1 ] . node. get_and_clear_pending_events( ) . is_empty( ) ) ;
@@ -68,19 +78,27 @@ fn do_test_manual_inbound_accept_with_override(start_cfg: UserConfig,
6878 MessageSendEvent :: HandleError { node_id, action } => {
6979 assert_eq ! ( * node_id, nodes[ 0 ] . node. get_our_node_id( ) ) ;
7080 match action {
71- ErrorAction :: SendErrorMessage { msg } =>
72- assert_eq ! ( msg. data, "No channels with anchor outputs accepted" . to_owned( ) ) ,
81+ ErrorAction :: SendErrorMessage { msg } => {
82+ assert_eq ! ( msg. data, "No channels with anchor outputs accepted" . to_owned( ) )
83+ } ,
7384 _ => panic ! ( "Unexpected error action" ) ,
7485 }
75- }
86+ } ,
7687 _ => panic ! ( "Unexpected event" ) ,
7788 }
7889
7990 nodes[ 2 ] . node . handle_open_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
8091 let events = nodes[ 2 ] . node . get_and_clear_pending_events ( ) ;
8192 match events[ 0 ] {
82- Event :: OpenChannelRequest { temporary_channel_id, .. } =>
83- nodes[ 2 ] . node . accept_inbound_channel ( & temporary_channel_id, & nodes[ 0 ] . node . get_our_node_id ( ) , 23 , config_overrides) . unwrap ( ) ,
93+ Event :: OpenChannelRequest { temporary_channel_id, .. } => nodes[ 2 ]
94+ . node
95+ . accept_inbound_channel (
96+ & temporary_channel_id,
97+ & nodes[ 0 ] . node . get_our_node_id ( ) ,
98+ 23 ,
99+ config_overrides,
100+ )
101+ . unwrap ( ) ,
84102 _ => panic ! ( "Unexpected event" ) ,
85103 }
86104 get_event_msg ! ( nodes[ 2 ] , MessageSendEvent :: SendAcceptChannel , nodes[ 0 ] . node. get_our_node_id( ) )
@@ -170,33 +188,53 @@ fn test_zero_fee_commitments_downgrade_to_static_remote() {
170188 do_test_channel_type_downgrade ( initiator_cfg, receiver_cfg, start_type, vec ! [ end_type] ) ;
171189}
172190
173- #[ rustfmt:: skip]
174- fn do_test_channel_type_downgrade ( initiator_cfg : UserConfig , acceptor_cfg : UserConfig ,
175- start_type : ChannelTypeFeatures , downgrade_types : Vec < ChannelTypeFeatures > ) {
191+ fn do_test_channel_type_downgrade (
192+ initiator_cfg : UserConfig , acceptor_cfg : UserConfig , start_type : ChannelTypeFeatures ,
193+ downgrade_types : Vec < ChannelTypeFeatures > ,
194+ ) {
176195 let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
177196 let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
178- let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ Some ( initiator_cfg) , Some ( acceptor_cfg) ] ) ;
197+ let node_chanmgrs =
198+ create_node_chanmgrs ( 2 , & node_cfgs, & [ Some ( initiator_cfg) , Some ( acceptor_cfg) ] ) ;
179199 let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
180200 let error_message = "Channel force-closed" ;
181201
182- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
183- let mut open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
202+ nodes[ 0 ]
203+ . node
204+ . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None )
205+ . unwrap ( ) ;
206+ let mut open_channel_msg = get_event_msg ! (
207+ nodes[ 0 ] ,
208+ MessageSendEvent :: SendOpenChannel ,
209+ nodes[ 1 ] . node. get_our_node_id( )
210+ ) ;
184211 assert_eq ! ( open_channel_msg. common_fields. channel_type. as_ref( ) . unwrap( ) , & start_type) ;
185212
186213 for downgrade_type in downgrade_types {
187214 nodes[ 1 ] . node . handle_open_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
188215 let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
189216 match events[ 0 ] {
190217 Event :: OpenChannelRequest { temporary_channel_id, .. } => {
191- nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & nodes[ 0 ] . node . get_our_node_id ( ) , error_message. to_string ( ) ) . unwrap ( ) ;
192- }
218+ nodes[ 1 ]
219+ . node
220+ . force_close_broadcasting_latest_txn (
221+ & temporary_channel_id,
222+ & nodes[ 0 ] . node . get_our_node_id ( ) ,
223+ error_message. to_string ( ) ,
224+ )
225+ . unwrap ( ) ;
226+ } ,
193227 _ => panic ! ( "Unexpected event" ) ,
194228 }
195229
196230 let error_msg = get_err_msg ( & nodes[ 1 ] , & nodes[ 0 ] . node . get_our_node_id ( ) ) ;
197231 nodes[ 0 ] . node . handle_error ( nodes[ 1 ] . node . get_our_node_id ( ) , & error_msg) ;
198232
199- open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
233+ open_channel_msg = get_event_msg ! (
234+ nodes[ 0 ] ,
235+ MessageSendEvent :: SendOpenChannel ,
236+ nodes[ 1 ] . node. get_our_node_id( )
237+ ) ;
200238 let channel_type = open_channel_msg. common_fields . channel_type . as_ref ( ) . unwrap ( ) ;
201239 assert_eq ! ( channel_type, & downgrade_type) ;
202240
@@ -207,7 +245,6 @@ fn do_test_channel_type_downgrade(initiator_cfg: UserConfig, acceptor_cfg: UserC
207245}
208246
209247#[ test]
210- #[ rustfmt:: skip]
211248fn test_no_channel_downgrade ( ) {
212249 // Tests that the local node will not retry when a `option_static_remote` channel is
213250 // rejected by a peer that advertises support for the feature.
@@ -218,21 +255,36 @@ fn test_no_channel_downgrade() {
218255
219256 let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
220257 let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
221- let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ Some ( initiator_cfg) , Some ( receiver_cfg) ] ) ;
258+ let node_chanmgrs =
259+ create_node_chanmgrs ( 2 , & node_cfgs, & [ Some ( initiator_cfg) , Some ( receiver_cfg) ] ) ;
222260 let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
223261 let error_message = "Channel force-closed" ;
224262
225- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None ) . unwrap ( ) ;
226- let open_channel_msg = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
263+ nodes[ 0 ]
264+ . node
265+ . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100_000 , 0 , 0 , None , None )
266+ . unwrap ( ) ;
267+ let open_channel_msg = get_event_msg ! (
268+ nodes[ 0 ] ,
269+ MessageSendEvent :: SendOpenChannel ,
270+ nodes[ 1 ] . node. get_our_node_id( )
271+ ) ;
227272 let start_type = ChannelTypeFeatures :: only_static_remote_key ( ) ;
228273 assert_eq ! ( open_channel_msg. common_fields. channel_type. as_ref( ) . unwrap( ) , & start_type) ;
229274
230275 nodes[ 1 ] . node . handle_open_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , & open_channel_msg) ;
231276 let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
232277 match events[ 0 ] {
233278 Event :: OpenChannelRequest { temporary_channel_id, .. } => {
234- nodes[ 1 ] . node . force_close_broadcasting_latest_txn ( & temporary_channel_id, & nodes[ 0 ] . node . get_our_node_id ( ) , error_message. to_string ( ) ) . unwrap ( ) ;
235- }
279+ nodes[ 1 ]
280+ . node
281+ . force_close_broadcasting_latest_txn (
282+ & temporary_channel_id,
283+ & nodes[ 0 ] . node . get_our_node_id ( ) ,
284+ error_message. to_string ( ) ,
285+ )
286+ . unwrap ( ) ;
287+ } ,
236288 _ => panic ! ( "Unexpected event" ) ,
237289 }
238290
@@ -242,5 +294,8 @@ fn test_no_channel_downgrade() {
242294 // Since nodes[0] could not retry the channel with a different type, it should close it.
243295 let chan_closed_events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
244296 assert_eq ! ( chan_closed_events. len( ) , 1 ) ;
245- if let Event :: ChannelClosed { .. } = chan_closed_events[ 0 ] { } else { panic ! ( ) ; }
297+ if let Event :: ChannelClosed { .. } = chan_closed_events[ 0 ] {
298+ } else {
299+ panic ! ( ) ;
300+ }
246301}
0 commit comments