@@ -13,9 +13,9 @@ use common::{
13
13
expect_payment_claimable_event, expect_payment_received_event, expect_payment_successful_event,
14
14
generate_blocks_and_wait,
15
15
logging:: { init_log_logger, validate_log_entry, TestLogWriter } ,
16
- open_channel, premine_and_distribute_funds, premine_blocks, prepare_rbf, random_config ,
17
- random_listening_addresses, setup_bitcoind_and_electrsd, setup_builder, setup_node ,
18
- setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
16
+ open_channel, open_channel_push_amt , premine_and_distribute_funds, premine_blocks, prepare_rbf,
17
+ random_config , random_listening_addresses, setup_bitcoind_and_electrsd, setup_builder,
18
+ setup_node , setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
19
19
} ;
20
20
21
21
use ldk_node:: config:: EsploraSyncConfig ;
@@ -1135,17 +1135,22 @@ fn static_invoice_server() {
1135
1135
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
1136
1136
let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1137
1137
1138
- let config_sender = random_config ( true ) ;
1138
+ let mut config_sender = random_config ( true ) ;
1139
+ config_sender. node_config . listening_addresses = None ;
1140
+ config_sender. node_config . node_alias = None ;
1139
1141
let node_sender = setup_node ( & chain_source, config_sender, None ) ;
1140
1142
1141
- let config_sender_lsp = random_config ( true ) ;
1143
+ let mut config_sender_lsp = random_config ( true ) ;
1144
+ config_sender_lsp. node_config . async_payment_services_enabled = true ;
1142
1145
let node_sender_lsp = setup_node ( & chain_source, config_sender_lsp, None ) ;
1143
1146
1144
1147
let mut config_receiver_lsp = random_config ( true ) ;
1145
1148
config_receiver_lsp. node_config . async_payment_services_enabled = true ;
1146
1149
let node_receiver_lsp = setup_node ( & chain_source, config_receiver_lsp, None ) ;
1147
1150
1148
- let config_receiver = random_config ( true ) ;
1151
+ let mut config_receiver = random_config ( true ) ;
1152
+ config_receiver. node_config . listening_addresses = None ;
1153
+ config_receiver. node_config . node_alias = None ;
1149
1154
let node_receiver = setup_node ( & chain_source, config_receiver, None ) ;
1150
1155
1151
1156
let address_sender = node_sender. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -1165,9 +1170,16 @@ fn static_invoice_server() {
1165
1170
node_receiver_lsp. sync_wallets ( ) . unwrap ( ) ;
1166
1171
node_receiver. sync_wallets ( ) . unwrap ( ) ;
1167
1172
1168
- open_channel ( & node_sender, & node_sender_lsp, 400_000 , true , & electrsd) ;
1173
+ open_channel ( & node_sender, & node_sender_lsp, 400_000 , false , & electrsd) ;
1169
1174
open_channel ( & node_sender_lsp, & node_receiver_lsp, 400_000 , true , & electrsd) ;
1170
- open_channel ( & node_receiver_lsp, & node_receiver, 400_000 , true , & electrsd) ;
1175
+ open_channel_push_amt (
1176
+ & node_receiver,
1177
+ & node_receiver_lsp,
1178
+ 400_000 ,
1179
+ Some ( 200_000_000 ) ,
1180
+ false ,
1181
+ & electrsd,
1182
+ ) ;
1171
1183
1172
1184
generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) ;
1173
1185
@@ -1190,14 +1202,14 @@ fn static_invoice_server() {
1190
1202
. filter ( |n| {
1191
1203
node. network_graph ( ) . node ( n) . map_or ( false , |info| info. announcement_info . is_some ( ) )
1192
1204
} )
1193
- . count ( ) >= 4
1205
+ . count ( ) >= 2
1194
1206
} ;
1195
1207
1196
1208
// Wait for everyone to see all channels and node announcements.
1197
- while node_sender. network_graph ( ) . list_channels ( ) . len ( ) < 3
1198
- || node_sender_lsp. network_graph ( ) . list_channels ( ) . len ( ) < 3
1199
- || node_receiver_lsp. network_graph ( ) . list_channels ( ) . len ( ) < 3
1200
- || node_receiver. network_graph ( ) . list_channels ( ) . len ( ) < 3
1209
+ while node_sender. network_graph ( ) . list_channels ( ) . len ( ) < 1
1210
+ || node_sender_lsp. network_graph ( ) . list_channels ( ) . len ( ) < 1
1211
+ || node_receiver_lsp. network_graph ( ) . list_channels ( ) . len ( ) < 1
1212
+ || node_receiver. network_graph ( ) . list_channels ( ) . len ( ) < 1
1201
1213
|| !has_node_announcements ( & node_sender)
1202
1214
|| !has_node_announcements ( & node_sender_lsp)
1203
1215
|| !has_node_announcements ( & node_receiver_lsp)
@@ -1219,9 +1231,16 @@ fn static_invoice_server() {
1219
1231
std:: thread:: sleep ( std:: time:: Duration :: from_millis ( 100 ) ) ;
1220
1232
} ;
1221
1233
1234
+ node_receiver. stop ( ) . unwrap ( ) ;
1235
+
1222
1236
let payment_id =
1223
1237
node_sender. bolt12_payment ( ) . send_using_amount ( & offer, 5_000 , None , None ) . unwrap ( ) ;
1224
1238
1239
+ // Sleep to allow the payment reach a state where the htlc is held and waiting for the receiver to come online.
1240
+ std:: thread:: sleep ( std:: time:: Duration :: from_millis ( 5000 ) ) ;
1241
+
1242
+ node_receiver. start ( ) . unwrap ( ) ;
1243
+
1225
1244
expect_payment_successful_event ! ( node_sender, Some ( payment_id) , None ) ;
1226
1245
}
1227
1246
0 commit comments