@@ -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 ( ) ;
@@ -277,7 +285,8 @@ fn start_stop_reinit() {
277285fn onchain_spend_receive ( ) {
278286 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
279287 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
280- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
288+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
289+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
281290
282291 let addr_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
283292 let addr_b = node_b. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -378,7 +387,9 @@ fn onchain_wallet_recovery() {
378387 let seed_bytes = vec ! [ 42u8 ; 64 ] ;
379388
380389 let original_config = random_config ( true ) ;
381- let original_node = setup_node ( & chain_source, original_config, Some ( seed_bytes. clone ( ) ) ) ;
390+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
391+ let original_node =
392+ setup_node ( & chain_source, original_config, Some ( seed_bytes. clone ( ) ) , log_writer) ;
382393
383394 let premine_amount_sat = 100_000 ;
384395
@@ -423,7 +434,8 @@ fn onchain_wallet_recovery() {
423434
424435 // Now we start from scratch, only the seed remains the same.
425436 let recovered_config = random_config ( true ) ;
426- let recovered_node = setup_node ( & chain_source, recovered_config, Some ( seed_bytes) ) ;
437+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
438+ let recovered_node = setup_node ( & chain_source, recovered_config, Some ( seed_bytes) , log_writer) ;
427439
428440 recovered_node. sync_wallets ( ) . unwrap ( ) ;
429441 assert_eq ! (
@@ -466,7 +478,8 @@ fn sign_verify_msg() {
466478 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
467479 let config = random_config ( true ) ;
468480 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
469- let node = setup_node ( & chain_source, config, None ) ;
481+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
482+ let node = setup_node ( & chain_source, config, None , log_writer) ;
470483
471484 // Tests arbitrary message signing and later verification
472485 let msg = "OK computer" . as_bytes ( ) ;
@@ -484,7 +497,8 @@ fn connection_restart_behavior() {
484497fn do_connection_restart_behavior ( persist : bool ) {
485498 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
486499 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
487- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false ) ;
500+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
501+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , false , false , log_writer) ;
488502
489503 let node_id_a = node_a. node_id ( ) ;
490504 let node_id_b = node_b. node_id ( ) ;
@@ -536,7 +550,8 @@ fn do_connection_restart_behavior(persist: bool) {
536550fn concurrent_connections_succeed ( ) {
537551 let ( _bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
538552 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
539- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
553+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
554+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
540555
541556 let node_a = Arc :: new ( node_a) ;
542557 let node_b = Arc :: new ( node_b) ;
@@ -567,7 +582,8 @@ fn concurrent_connections_succeed() {
567582fn simple_bolt12_send_receive ( ) {
568583 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
569584 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
570- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
585+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
586+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
571587
572588 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
573589 let premine_amount_sat = 5_000_000 ;
@@ -775,7 +791,8 @@ fn simple_bolt12_send_receive() {
775791fn generate_bip21_uri ( ) {
776792 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
777793 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
778- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
794+ let log_writer = TestLogWriter :: File ( FilesystemLoggerConfig :: default ( ) ) ;
795+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
779796
780797 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
781798 let premined_sats = 5_000_000 ;
@@ -817,7 +834,10 @@ fn generate_bip21_uri() {
817834fn unified_qr_send_receive ( ) {
818835 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
819836 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
820- let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false ) ;
837+
838+ let mock_logger = init_mock_logger ( log:: LevelFilter :: Trace ) ;
839+ let log_writer = TestLogWriter :: LogFacade ( LogFacadeLoggerConfig { level : LdkLevel :: Trace } ) ;
840+ let ( node_a, node_b) = setup_two_nodes ( & chain_source, false , true , false , log_writer) ;
821841
822842 let address_a = node_a. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
823843 let premined_sats = 5_000_000 ;
@@ -923,4 +943,10 @@ fn unified_qr_send_receive() {
923943
924944 assert_eq ! ( node_b. list_balances( ) . total_onchain_balance_sats, 800_000 ) ;
925945 assert_eq ! ( node_b. list_balances( ) . total_lightning_balance_sats, 200_000 ) ;
946+
947+ assert ! ( mock_logger
948+ . retrieve_logs( )
949+ . last( )
950+ . unwrap( )
951+ . contains( "Incremental sync of on-chain wallet finished" ) , ) ;
926952}
0 commit comments