@@ -9,14 +9,15 @@ mod common;
99
1010use common:: {
1111 do_channel_full_cycle, expect_channel_ready_event, expect_event, expect_payment_received_event,
12- expect_payment_successful_event, generate_blocks_and_wait, open_channel,
12+ expect_payment_successful_event, generate_blocks_and_wait, init_mock_logger , open_channel,
1313 premine_and_distribute_funds, random_config, setup_bitcoind_and_electrsd, setup_builder,
14- setup_node, setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
14+ setup_node, setup_two_nodes, wait_for_tx, TestChainSource , TestLogWriter , TestSyncStore ,
1515} ;
1616
1717use ldk_node:: config:: { EsploraSyncConfig , FilesystemLoggerConfig } ;
1818use ldk_node:: payment:: { PaymentKind , QrPaymentResult , SendingParameters } ;
19- use ldk_node:: { Builder , Event , NodeError } ;
19+ use ldk_node:: LdkLevel ;
20+ use ldk_node:: { Builder , Event , LogFacadeLoggerConfig , NodeError } ;
2021
2122use lightning:: ln:: channelmanager:: PaymentId ;
2223use lightning:: util:: logger:: Level ;
@@ -32,55 +33,62 @@ use std::sync::Arc;
3233fn channel_full_cycle ( ) {
3334 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
3435 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
35- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
36+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
37+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
3638 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
3739}
3840
3941#[ test]
4042fn channel_full_cycle_bitcoind ( ) {
4143 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
4244 let chain_source = TestChainSource :: BitcoindRpc ( & bitcoind) ;
43- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
45+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
46+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
4447 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , false ) ;
4548}
4649
4750#[ test]
4851fn channel_full_cycle_force_close ( ) {
4952 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
5053 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
51- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
54+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
55+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
5256 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
5357}
5458
5559#[ test]
5660fn channel_full_cycle_force_close_trusted_no_reserve ( ) {
5761 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
5862 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
59- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true ) ;
63+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
64+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , true , log_writer) ;
6065 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , true , true ) ;
6166}
6267
6368#[ test]
6469fn channel_full_cycle_0conf ( ) {
6570 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
6671 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
67- let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false ) ;
72+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
73+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, true , true , false , log_writer) ;
6874 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , true , true , false )
6975}
7076
7177#[ test]
7278fn channel_full_cycle_legacy_staticremotekey ( ) {
7379 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
7480 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
75- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
81+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
82+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , log_writer) ;
7683 do_channel_full_cycle ( node_a, node_b, & bitcoind. client , & electrsd. client , false , false , false ) ;
7784}
7885
7986#[ test]
8087fn channel_open_fails_when_funds_insufficient ( ) {
8188 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
8289 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
83- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
90+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
91+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
8492
8593 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
8694 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -280,7 +288,8 @@ fn start_stop_reinit() {
280288fn onchain_spend_receive ( ) {
281289 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
282290 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
283- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
291+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
292+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
284293
285294 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
286295 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -381,7 +390,9 @@ fn onchain_wallet_recovery() {
381390 let seed_bytes = vec ! [ 42u8 ; 64 ] ;
382391
383392 let original_config = random_config ( true ) ;
384- let original_node = setup_node ( & chain_source, original_config, Some ( seed_bytes. clone ( ) ) ) ;
393+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
394+ let original_node =
395+ setup_node ( & chain_source, original_config, Some ( seed_bytes. clone ( ) ) , log_writer) ;
385396
386397 let premine_amount_sat = 100_000 ;
387398
@@ -426,7 +437,8 @@ fn onchain_wallet_recovery() {
426437
427438 // Now we start from scratch, only the seed remains the same.
428439 let recovered_config = random_config ( true ) ;
429- let recovered_node = setup_node ( & chain_source, recovered_config, Some ( seed_bytes) ) ;
440+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
441+ let recovered_node = setup_node ( & chain_source, recovered_config, Some ( seed_bytes) , log_writer) ;
430442
431443 recovered_node. sync_wallets ( ) . unwrap ( ) ;
432444 assert_eq ! (
@@ -469,7 +481,8 @@ fn sign_verify_msg() {
469481 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
470482 let config = random_config ( true ) ;
471483 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
472- let node = setup_node ( & chain_source, config, None ) ;
484+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
485+ let node = setup_node ( & chain_source, config, None , log_writer) ;
473486
474487 // Tests arbitrary message signing and later verification
475488 let msg = "OK computer" . as_bytes ( ) ;
@@ -487,7 +500,8 @@ fn connection_restart_behavior() {
487500fn do_connection_restart_behavior ( persist : bool ) {
488501 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
489502 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
490- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
503+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
504+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , log_writer) ;
491505
492506 let node_id_a = node_a. node_id ( ) ;
493507 let node_id_b = node_b. node_id ( ) ;
@@ -539,7 +553,8 @@ fn do_connection_restart_behavior(persist: bool) {
539553fn concurrent_connections_succeed ( ) {
540554 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
541555 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
542- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
556+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
557+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
543558
544559 let node_a = Arc :: new ( node_a) ;
545560 let node_b = Arc :: new ( node_b) ;
@@ -570,7 +585,8 @@ fn concurrent_connections_succeed() {
570585fn simple_bolt12_send_receive ( ) {
571586 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
572587 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
573- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
588+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
589+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
574590
575591 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
576592 let premine_amount_sat = 5_000_000 ;
@@ -778,7 +794,8 @@ fn simple_bolt12_send_receive() {
778794fn generate_bip21_uri ( ) {
779795 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
780796 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
781- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
797+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
798+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
782799
783800 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
784801 let premined_sats = 5_000_000 ;
@@ -820,7 +837,10 @@ fn generate_bip21_uri() {
820837fn unified_qr_send_receive ( ) {
821838 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
822839 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
823- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
840+
841+ let mock_logger = init_mock_logger ( log:: LevelFilter :: Trace ) ;
842+ let log_writer = TestLogWriter :: LogFacade ( LogFacadeLoggerConfig { level : LdkLevel :: Trace } ) ;
843+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
824844
825845 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
826846 let premined_sats = 5_000_000 ;
@@ -926,4 +946,10 @@ fn unified_qr_send_receive() {
926946
927947 assert_eq ! ( node_b. list_balances( ) . total_onchain_balance_sats, 800_000 ) ;
928948 assert_eq ! ( node_b. list_balances( ) . total_lightning_balance_sats, 200_000 ) ;
949+
950+ assert ! ( mock_logger
951+ . retrieve_logs( )
952+ . last( )
953+ . unwrap( )
954+ . contains( "Incremental sync of on-chain wallet finished" ) , ) ;
929955}
0 commit comments