@@ -65,7 +65,7 @@ fn test_insane_channel_opens() {
6565 let push_msat = ( channel_value_sat - channel_reserve_satoshis) * 1000 ;
6666
6767 // 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 ( ) ;
6969
7070 // Extract the channel open message from node0 to node1
7171 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) {
436436 }
437437
438438 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 ( ) ;
440440 let open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
441441
442442 if steps & 0x0f == 1 { return ; }
@@ -5442,12 +5442,12 @@ fn bolt2_open_channel_sending_node_checks_part1() { //This test needs to be on i
54425442 // BOLT #2 spec: Sending node must ensure temporary_channel_id is unique from any other channel ID with the same peer.
54435443 let channel_value_satoshis=10000 ;
54445444 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 ( ) ;
54465446 let node0_to_1_send_open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
54475447 nodes[ 1 ] . node . handle_open_channel ( & nodes[ 0 ] . node . get_our_node_id ( ) , InitFeatures :: supported ( ) , & node0_to_1_send_open_channel) ;
54485448
54495449 //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( ) ) ;
54515451}
54525452
54535453#[ test]
@@ -5460,18 +5460,18 @@ fn bolt2_open_channel_sending_node_checks_part2() {
54605460 // BOLT #2 spec: Sending node must set funding_satoshis to less than 2^24 satoshis
54615461 let channel_value_satoshis=2 ^24 ;
54625462 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( ) ) ;
54645464
54655465 // BOLT #2 spec: Sending node must set push_msat to equal or less than 1000 * funding_satoshis
54665466 let channel_value_satoshis=10000 ;
54675467 // Test when push_msat is equal to 1000 * funding_satoshis.
54685468 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( ) ) ;
54705470
54715471 // BOLT #2 spec: Sending node must set set channel_reserve_satoshis greater than or equal to dust_limit_satoshis
54725472 let channel_value_satoshis=10000 ;
54735473 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
54755475 let node0_to_1_send_open_channel = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendOpenChannel , nodes[ 1 ] . node. get_our_node_id( ) ) ;
54765476 assert ! ( node0_to_1_send_open_channel. channel_reserve_satoshis>=node0_to_1_send_open_channel. dust_limit_satoshis) ;
54775477
@@ -6501,7 +6501,7 @@ fn test_user_configurable_csv_delay() {
65016501 } else { assert ! ( false ) }
65026502
65036503 // 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 ( ) ;
65056505 let mut open_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
65066506 open_channel. to_self_delay = 200 ;
65076507 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() {
65126512 } else { assert ! ( false ) ; }
65136513
65146514 // 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 ( ) ;
65166516 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( ) ) ) ;
65176517 let mut accept_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
65186518 accept_channel. to_self_delay = 200 ;
@@ -6527,7 +6527,7 @@ fn test_user_configurable_csv_delay() {
65276527 } else { assert ! ( false ) ; }
65286528
65296529 // 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 ( ) ;
65316531 let mut open_channel = get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendOpenChannel , nodes[ 0 ] . node. get_our_node_id( ) ) ;
65326532 open_channel. to_self_delay = 200 ;
65336533 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() {
73107310 }
73117311 }
73127312}
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