use bdk::{ bitcoin::Network, database::MemoryDatabase, keys::ExtendedKey, template::Bip84, KeychainKind, Wallet, }; // Re-enable this if we want to use alongside a fullnode. pub mod electrum; pub mod esplora; /// Create a BDK wallet using BIP 84 descriptor ("m/84h/1h/0h/0" and "m/84h/1h/0h/1") pub fn create_wallet(xkey: ExtendedKey) -> anyhow::Result> { let xprv = xkey .into_xprv(Network::Testnet) .expect("couldn't turn xkey into xprv"); let external_descriptor = Bip84(xprv, KeychainKind::External); let internal_descriptor = Some(Bip84(xprv, KeychainKind::Internal)); let wallet = Wallet::new( external_descriptor, internal_descriptor, Network::Testnet, MemoryDatabase::default(), )?; Ok(wallet) }