@@ -65,7 +65,7 @@ fn test_insane_channel_opens() {
65
65
let push_msat = ( channel_value_sat - channel_reserve_satoshis) * 1000 ;
66
66
67
67
// Have node0 initiate a channel to node1 with aforementioned parameters
68
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , channel_value_sat, push_msat, 42 ) . unwrap ( ) ;
68
+ nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , channel_value_sat, push_msat, 42 , None ) . unwrap ( ) ;
69
69
70
70
// Extract the channel open message from node0 to node1
71
71
let open_channel_message = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
@@ -436,7 +436,7 @@ fn do_test_sanity_on_in_flight_opens(steps: u8) {
436
436
}
437
437
438
438
if steps & 0x0f == 0 { return ; }
439
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100000 , 10001 , 42 ) . unwrap ( ) ;
439
+ nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 100000 , 10001 , 42 , None ) . unwrap ( ) ;
440
440
let open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
441
441
442
442
if steps & 0x0f == 1 { return ; }
@@ -5442,12 +5442,12 @@ fn bolt2_open_channel_sending_node_checks_part1() { //This test needs to be on i
5442
5442
// BOLT #2 spec: Sending node must ensure temporary_channel_id is unique from any other channel ID with the same peer.
5443
5443
let channel_value_satoshis=10000 ;
5444
5444
let push_msat=10001 ;
5445
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , channel_value_satoshis, push_msat, 42 ) . unwrap ( ) ;
5445
+ nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , channel_value_satoshis, push_msat, 42 , None ) . unwrap ( ) ;
5446
5446
let node0_to_1_send_open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5447
5447
nodes[ 1 ] . node . handle_open_channel ( & nodes[ 0 ] . node . get_our_node_id ( ) , InitFeatures :: supported ( ) , & node0_to_1_send_open_channel) ;
5448
5448
5449
5449
//Create a second channel with a channel_id collision
5450
- assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 0 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 ) . is_err( ) ) ;
5450
+ assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 0 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 , None ) . is_err( ) ) ;
5451
5451
}
5452
5452
5453
5453
#[ test]
@@ -5460,18 +5460,18 @@ fn bolt2_open_channel_sending_node_checks_part2() {
5460
5460
// BOLT #2 spec: Sending node must set funding_satoshis to less than 2^24 satoshis
5461
5461
let channel_value_satoshis=2 ^24 ;
5462
5462
let push_msat=10001 ;
5463
- assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 ) . is_err( ) ) ;
5463
+ assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 , None ) . is_err( ) ) ;
5464
5464
5465
5465
// BOLT #2 spec: Sending node must set push_msat to equal or less than 1000 * funding_satoshis
5466
5466
let channel_value_satoshis=10000 ;
5467
5467
// Test when push_msat is equal to 1000 * funding_satoshis.
5468
5468
let push_msat=1000 * channel_value_satoshis+1 ;
5469
- assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 ) . is_err( ) ) ;
5469
+ assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 , None ) . is_err( ) ) ;
5470
5470
5471
5471
// BOLT #2 spec: Sending node must set set channel_reserve_satoshis greater than or equal to dust_limit_satoshis
5472
5472
let channel_value_satoshis=10000 ;
5473
5473
let push_msat=10001 ;
5474
- assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 ) . is_ok( ) ) ; //Create a valid channel
5474
+ assert ! ( nodes[ 0 ] . node. create_channel( nodes[ 1 ] . node. get_our_node_id( ) , channel_value_satoshis, push_msat, 42 , None ) . is_ok( ) ) ; //Create a valid channel
5475
5475
let node0_to_1_send_open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5476
5476
assert ! ( node0_to_1_send_open_channel. channel_reserve_satoshis>=node0_to_1_send_open_channel. dust_limit_satoshis) ;
5477
5477
@@ -6501,7 +6501,7 @@ fn test_user_configurable_csv_delay() {
6501
6501
} else { assert ! ( false ) }
6502
6502
6503
6503
// We test config.our_to_self > BREAKDOWN_TIMEOUT is enforced in Channel::new_from_req()
6504
- nodes[ 1 ] . node . create_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 ) . unwrap ( ) ;
6504
+ nodes[ 1 ] . node . create_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 , None ) . unwrap ( ) ;
6505
6505
let mut open_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
6506
6506
open_channel. to_self_delay = 200 ;
6507
6507
if let Err ( error) = Channel :: new_from_req ( & & test_utils:: TestFeeEstimator { sat_per_kw : 253 } , & keys_manager, nodes[ 1 ] . node . get_our_node_id ( ) , InitFeatures :: supported ( ) , & open_channel, 0 , Arc :: new ( test_utils:: TestLogger :: new ( ) ) , & low_our_to_self_config) {
@@ -6512,7 +6512,7 @@ fn test_user_configurable_csv_delay() {
6512
6512
} else { assert ! ( false ) ; }
6513
6513
6514
6514
// We test msg.to_self_delay <= config.their_to_self_delay is enforced in Chanel::accept_channel()
6515
- nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 ) . unwrap ( ) ;
6515
+ nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 , None ) . unwrap ( ) ;
6516
6516
nodes[ 1 ] . node . handle_open_channel ( & nodes[ 0 ] . node . get_our_node_id ( ) , InitFeatures :: supported ( ) , & get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ) ;
6517
6517
let mut accept_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
6518
6518
accept_channel. to_self_delay = 200 ;
@@ -6527,7 +6527,7 @@ fn test_user_configurable_csv_delay() {
6527
6527
} else { assert ! ( false ) ; }
6528
6528
6529
6529
// We test msg.to_self_delay <= config.their_to_self_delay is enforced in Channel::new_from_req()
6530
- nodes[ 1 ] . node . create_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 ) . unwrap ( ) ;
6530
+ nodes[ 1 ] . node . create_channel ( nodes[ 0 ] . node . get_our_node_id ( ) , 1000000 , 1000000 , 42 , None ) . unwrap ( ) ;
6531
6531
let mut open_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
6532
6532
open_channel. to_self_delay = 200 ;
6533
6533
if let Err ( error) = Channel :: new_from_req ( & & test_utils:: TestFeeEstimator { sat_per_kw : 253 } , & keys_manager, nodes[ 1 ] . node . get_our_node_id ( ) , InitFeatures :: supported ( ) , & open_channel, 0 , Arc :: new ( test_utils:: TestLogger :: new ( ) ) , & high_their_to_self_config) {
@@ -7310,3 +7310,22 @@ fn test_bump_txn_sanitize_tracking_maps() {
7310
7310
}
7311
7311
}
7312
7312
}
7313
+
7314
+ #[ test]
7315
+ fn test_override_channel_config ( ) {
7316
+ let chanmon_cfgs = create_chanmon_cfgs ( 2 ) ;
7317
+ let node_cfgs = create_node_cfgs ( 2 , & chanmon_cfgs) ;
7318
+ let node_chanmgrs = create_node_chanmgrs ( 2 , & node_cfgs, & [ None , None ] ) ;
7319
+ let nodes = create_network ( 2 , & node_cfgs, & node_chanmgrs) ;
7320
+
7321
+ // Node0 initiates a channel to node1 using the override config.
7322
+ let mut override_config = UserConfig :: default ( ) ;
7323
+ override_config. own_channel_config . our_to_self_delay = 200 ;
7324
+
7325
+ nodes[ 0 ] . node . create_channel ( nodes[ 1 ] . node . get_our_node_id ( ) , 16_000_000 , 12_000_000 , 42 , Some ( override_config) ) . unwrap ( ) ;
7326
+
7327
+ // Assert the channel created by node0 is using the override config.
7328
+ let res = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
7329
+ assert_eq ! ( res. channel_flags, 0 ) ;
7330
+ assert_eq ! ( res. to_self_delay, 200 ) ;
7331
+ }
0 commit comments