@@ -934,6 +934,10 @@ const MAX_UNFUNDED_CHANS_PER_PEER: usize = 4;
934
934
/// this many peers we reject new (inbound) channels.
935
935
const MAX_UNFUNDED_CHANNEL_PEERS : usize = 50 ;
936
936
937
+ /// The maximum number of peers which we do not have a (funded) channel with. Once we reach this
938
+ /// many peers we reject new (inbound) connections.
939
+ const MAX_NO_CHANNEL_PEERS : usize = 250 ;
940
+
937
941
/// Information needed for constructing an invoice route hint for this channel.
938
942
#[ derive( Clone , Debug , PartialEq ) ]
939
943
pub struct CounterpartyForwardingInfo {
@@ -6295,7 +6299,7 @@ where
6295
6299
}
6296
6300
node. is_connected
6297
6301
} ) ;
6298
- if inbound && !this_peer_has_funded_channels && connected_peers_without_funded_channels >= MAX_UNFUNDED_CHANNEL_PEERS {
6302
+ if inbound && !this_peer_has_funded_channels && connected_peers_without_funded_channels >= MAX_NO_CHANNEL_PEERS {
6299
6303
return Err ( ( ) ) ;
6300
6304
}
6301
6305
@@ -8556,10 +8560,10 @@ mod tests {
8556
8560
// Now nodes[0] is disconnected but still has a pending, un-funded channel lying around.
8557
8561
// Even though we accept one more connection from new peers, we won't actually let them
8558
8562
// open channels.
8559
- assert_eq ! ( peer_pks. len( ) , super :: MAX_NO_CHANNEL_PEERS - 1 ) ;
8560
- for peer_pk in peer_pks {
8561
- nodes[ 1 ] . node . handle_open_channel ( & peer_pk , & open_channel_msg) ;
8562
- get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , peer_pk ) ;
8563
+ assert ! ( peer_pks. len( ) > super :: MAX_UNFUNDED_CHANNEL_PEERS - 1 ) ;
8564
+ for i in 0 .. super :: MAX_UNFUNDED_CHANNEL_PEERS - 1 {
8565
+ nodes[ 1 ] . node . handle_open_channel ( & peer_pks [ i ] , & open_channel_msg) ;
8566
+ get_event_msg ! ( nodes[ 1 ] , MessageSendEvent :: SendAcceptChannel , peer_pks [ i ] ) ;
8563
8567
open_channel_msg. temporary_channel_id = nodes[ 0 ] . keys_manager . get_secure_random_bytes ( ) ;
8564
8568
}
8565
8569
nodes[ 1 ] . node . handle_open_channel ( & last_random_pk, & open_channel_msg) ;
0 commit comments