File tree 3 files changed +32
-5
lines changed
3 files changed +32
-5
lines changed Original file line number Diff line number Diff line change @@ -1159,6 +1159,14 @@ fn build_with_store_internal(
1159
1159
// If we act as an LSPS2 service, we need to to be able to intercept HTLCs and forward the
1160
1160
// information to the service handler.
1161
1161
user_config. accept_intercept_htlcs = true ;
1162
+
1163
+ // If we act as an LSPS2 service, we allow forwarding to unnannounced channels.
1164
+ user_config. accept_forwards_to_priv_channels = true ;
1165
+
1166
+ // If we act as an LSPS2 service, set the HTLC-value-in-flight to 100% of the channel value
1167
+ // to ensure we can forward the initial payment.
1168
+ user_config. channel_handshake_config . max_inbound_htlc_value_in_flight_percent_of_channel =
1169
+ 100 ;
1162
1170
}
1163
1171
1164
1172
let message_router =
Original file line number Diff line number Diff line change @@ -675,11 +675,14 @@ where
675
675
676
676
let mut config = * self . channel_manager . get_current_default_configuration ( ) ;
677
677
678
- // Set the HTLC-value-in-flight to 100% of the channel value to ensure we can
679
- // forward the payment.
680
- config
681
- . channel_handshake_config
682
- . max_inbound_htlc_value_in_flight_percent_of_channel = 100 ;
678
+ // We set these LSP-specific values during Node building, here we're making sure it's actually set.
679
+ debug_assert_eq ! (
680
+ config
681
+ . channel_handshake_config
682
+ . max_inbound_htlc_value_in_flight_percent_of_channel,
683
+ 100
684
+ ) ;
685
+ debug_assert ! ( config. accept_forwards_to_priv_channels) ;
683
686
684
687
// We set the forwarding fee to 0 for now as we're getting paid by the channel fee.
685
688
//
Original file line number Diff line number Diff line change @@ -1240,6 +1240,22 @@ fn lsps2_client_service_integration() {
1240
1240
( expected_received_amount_msat + expected_channel_overprovisioning_msat) / 1000 ;
1241
1241
let channel_value_sats = client_node. list_channels ( ) . first ( ) . unwrap ( ) . channel_value_sats ;
1242
1242
assert_eq ! ( channel_value_sats, expected_channel_size_sat) ;
1243
+
1244
+ println ! ( "Generating regular invoice!" ) ;
1245
+ let invoice_description =
1246
+ Bolt11InvoiceDescription :: Direct ( Description :: new ( String :: from ( "asdf" ) ) . unwrap ( ) ) ;
1247
+ let amount_msat = 5_000_000 ;
1248
+ let invoice = client_node
1249
+ . bolt11_payment ( )
1250
+ . receive ( amount_msat, & invoice_description. into ( ) , 1024 )
1251
+ . unwrap ( ) ;
1252
+
1253
+ // Have the payer_node pay the invoice, to check regular forwards service_node -> client_node
1254
+ // are working as expected.
1255
+ println ! ( "Paying regular invoice!" ) ;
1256
+ let payment_id = payer_node. bolt11_payment ( ) . send ( & invoice, None ) . unwrap ( ) ;
1257
+ expect_payment_successful_event ! ( payer_node, Some ( payment_id) , None ) ;
1258
+ expect_payment_received_event ! ( client_node, amount_msat) ;
1243
1259
}
1244
1260
1245
1261
#[ test]
You can’t perform that action at this time.
0 commit comments