@@ -413,15 +413,21 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
413
413
} ;
414
414
415
415
let xprv = bitcoin:: util:: bip32:: ExtendedPrivKey :: new_master ( config. network , & seed_bytes)
416
- . map_err ( |_| BuildError :: InvalidSeedBytes ) ?;
416
+ . map_err ( |e| {
417
+ log_error ! ( logger, "Failed to derive master secret: {}" , e) ;
418
+ BuildError :: InvalidSeedBytes
419
+ } ) ?;
417
420
418
421
let wallet_name = bdk:: wallet:: wallet_name_from_descriptor (
419
422
Bip84 ( xprv, bdk:: KeychainKind :: External ) ,
420
423
Some ( Bip84 ( xprv, bdk:: KeychainKind :: Internal ) ) ,
421
424
config. network ,
422
425
& Secp256k1 :: new ( ) ,
423
426
)
424
- . map_err ( |_| BuildError :: WalletSetupFailed ) ?;
427
+ . map_err ( |e| {
428
+ log_error ! ( logger, "Failed to derive wallet name: {}" , e) ;
429
+ BuildError :: WalletSetupFailed
430
+ } ) ?;
425
431
426
432
let database_path = format ! ( "{}/bdk_wallet_{}.sqlite" , config. storage_dir_path, wallet_name) ;
427
433
let database = SqliteDatabase :: new ( database_path) ;
@@ -432,7 +438,10 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
432
438
config. network ,
433
439
database,
434
440
)
435
- . map_err ( |_| BuildError :: WalletSetupFailed ) ?;
441
+ . map_err ( |e| {
442
+ log_error ! ( logger, "Failed to set up wallet: {}" , e) ;
443
+ BuildError :: WalletSetupFailed
444
+ } ) ?;
436
445
437
446
let ( blockchain, tx_sync) = match chain_data_source_config {
438
447
Some ( ChainDataSourceConfig :: Esplora ( server_url) ) => {
@@ -466,9 +475,11 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
466
475
) ) ;
467
476
468
477
// Initialize the KeysManager
469
- let cur_time = SystemTime :: now ( )
470
- . duration_since ( SystemTime :: UNIX_EPOCH )
471
- . map_err ( |_| BuildError :: InvalidSystemTime ) ?;
478
+ let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
479
+ log_error ! ( logger, "Failed to get current time: {}" , e) ;
480
+ BuildError :: InvalidSystemTime
481
+ } ) ?;
482
+
472
483
let ldk_seed_bytes: [ u8 ; 32 ] = xprv. private_key . secret_bytes ( ) ;
473
484
let keys_manager = Arc :: new ( KeysManager :: new (
474
485
& ldk_seed_bytes,
@@ -609,10 +620,6 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
609
620
) ) ;
610
621
let ephemeral_bytes: [ u8 ; 32 ] = keys_manager. get_secure_random_bytes ( ) ;
611
622
612
- let cur_time = SystemTime :: now ( )
613
- . duration_since ( SystemTime :: UNIX_EPOCH )
614
- . map_err ( |_| BuildError :: InvalidSystemTime ) ?;
615
-
616
623
// Initialize the GossipSource
617
624
// Use the configured gossip source, if the user set one, otherwise default to P2PNetwork.
618
625
let gossip_source_config = gossip_source_config. unwrap_or ( & GossipSourceConfig :: P2PNetwork ) ;
@@ -628,7 +635,10 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
628
635
Arc :: clone ( & kv_store) ,
629
636
Arc :: clone ( & logger) ,
630
637
)
631
- . map_err ( |_| BuildError :: WriteFailed ) ?;
638
+ . map_err ( |e| {
639
+ log_error ! ( logger, "Failed writing to store: {}" , e) ;
640
+ BuildError :: WriteFailed
641
+ } ) ?;
632
642
p2p_source
633
643
}
634
644
GossipSourceConfig :: RapidGossipSync ( rgs_server) => {
@@ -664,9 +674,17 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
664
674
}
665
675
} ;
666
676
677
+ let cur_time = SystemTime :: now ( ) . duration_since ( SystemTime :: UNIX_EPOCH ) . map_err ( |e| {
678
+ log_error ! ( logger, "Failed to get current time: {}" , e) ;
679
+ BuildError :: InvalidSystemTime
680
+ } ) ?;
681
+
667
682
let peer_manager = Arc :: new ( PeerManager :: new (
668
683
msg_handler,
669
- cur_time. as_secs ( ) . try_into ( ) . map_err ( |_| BuildError :: InvalidSystemTime ) ?,
684
+ cur_time. as_secs ( ) . try_into ( ) . map_err ( |e| {
685
+ log_error ! ( logger, "Failed to get current time: {}" , e) ;
686
+ BuildError :: InvalidSystemTime
687
+ } ) ?,
670
688
& ephemeral_bytes,
671
689
Arc :: clone ( & logger) ,
672
690
IgnoringMessageHandler { } ,
0 commit comments