Skip to content

Commit 7619507

Browse files
committed
WIP Test
1 parent 6f72e30 commit 7619507

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

src/sweep.rs

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -538,3 +538,87 @@ where
538538
.collect::<Vec<_>>()
539539
}
540540
}
541+
542+
#[cfg(test)]
543+
mod tests {
544+
use super::OutputSweeper;
545+
use crate::fee_estimator::OnchainFeeEstimator;
546+
use crate::test::utils::random_storage_path;
547+
use crate::wallet::{Wallet, WalletKeysManager};
548+
549+
use lightning::chain::BestBlock;
550+
use lightning::util::test_utils::{TestBroadcaster, TestLogger, TestStore};
551+
use lightning_transaction_sync::EsploraSyncClient;
552+
553+
use bdk::blockchain::esplora::EsploraBlockchain;
554+
use bdk::database::SqliteDatabase;
555+
use bdk::template::Bip84;
556+
557+
use bitcoin::Network;
558+
559+
use std::fs;
560+
use std::sync::Arc;
561+
562+
#[test]
563+
fn test_broadcasting() {
564+
let storage_path = random_storage_path();
565+
let seed_bytes = [42u8; 64];
566+
let network = Network::Regtest;
567+
let logger = Arc::new(TestLogger::new());
568+
let kv_store = Arc::new(TestStore::new(false));
569+
570+
let genesis_block_hash = bitcoin::blockdata::constants::genesis_block(network).block_hash();
571+
let best_block = BestBlock::new(genesis_block_hash, 0);
572+
573+
let xprv = bitcoin::util::bip32::ExtendedPrivKey::new_master(network, &seed_bytes).unwrap();
574+
575+
fs::create_dir_all(storage_path.clone()).unwrap();
576+
let database_path = format!("{}/bdk_test_wallet.sqlite", storage_path.display());
577+
let database = SqliteDatabase::new(database_path);
578+
579+
let bdk_wallet = bdk::Wallet::new(
580+
Bip84(xprv, bdk::KeychainKind::External),
581+
Some(Bip84(xprv, bdk::KeychainKind::Internal)),
582+
network,
583+
database,
584+
)
585+
.unwrap();
586+
587+
let tx_sync = Arc::new(EsploraSyncClient::new("asdf".to_string(), Arc::clone(&logger)));
588+
let esplora_client = tx_sync.client();
589+
590+
let broadcaster = Arc::new(TestBroadcaster::new(network));
591+
let fee_estimator =
592+
Arc::new(OnchainFeeEstimator::new(esplora_client.clone(), Arc::clone(&logger)));
593+
594+
let blockchain = EsploraBlockchain::from_client(esplora_client.clone(), 20);
595+
let wallet = Arc::new(Wallet::new(
596+
blockchain,
597+
bdk_wallet,
598+
Arc::clone(&broadcaster),
599+
Arc::clone(&fee_estimator),
600+
Arc::clone(&logger),
601+
));
602+
603+
let ldk_seed_bytes: [u8; 32] = xprv.private_key.secret_bytes();
604+
let keys_manager = Arc::new(WalletKeysManager::new(
605+
&ldk_seed_bytes,
606+
0,
607+
1,
608+
Arc::clone(&wallet),
609+
Arc::clone(&logger),
610+
));
611+
612+
let sweeper = OutputSweeper::new(
613+
Vec::new(),
614+
wallet,
615+
broadcaster,
616+
fee_estimator,
617+
keys_manager,
618+
kv_store,
619+
best_block,
620+
Some(Arc::clone(&tx_sync)),
621+
logger,
622+
);
623+
}
624+
}

0 commit comments

Comments
 (0)