///
/// ```
/// use bdk::descriptor::error::Error as DescriptorError;
-/// use bdk::keys::{KeyError, IntoDescriptorKey};
+/// use bdk::keys::{IntoDescriptorKey, KeyError};
/// use bdk::miniscript::Legacy;
/// use bdk::template::{DescriptorTemplate, DescriptorTemplateOut};
///
/// ```
/// use bdk::bitcoin::PublicKey;
///
-/// use bdk::keys::{DescriptorKey, KeyError, ScriptContext, IntoDescriptorKey};
+/// use bdk::keys::{DescriptorKey, IntoDescriptorKey, KeyError, ScriptContext};
///
/// pub struct MyKeyType {
/// pubkey: PublicKey,
/// use bdk::bitcoin::PublicKey;
///
/// use bdk::keys::{
-/// mainnet_network, DescriptorKey, DescriptorPublicKey, DescriptorSinglePub, KeyError,
-/// ScriptContext, IntoDescriptorKey,
+/// mainnet_network, DescriptorKey, DescriptorPublicKey, DescriptorSinglePub,
+/// IntoDescriptorKey, KeyError, ScriptContext,
/// };
///
/// pub struct MyKeyType {
/// ```
/// use bdk::bitcoin::PublicKey;
///
-/// use bdk::keys::{DescriptorKey, ExtScriptContext, KeyError, ScriptContext, IntoDescriptorKey};
+/// use bdk::keys::{DescriptorKey, ExtScriptContext, IntoDescriptorKey, KeyError, ScriptContext};
///
/// pub struct MyKeyType {
/// is_legacy: bool,
/// use bdk::bitcoin::PublicKey;
/// use std::str::FromStr;
///
-/// use bdk::keys::{DescriptorKey, KeyError, IntoDescriptorKey};
+/// use bdk::keys::{DescriptorKey, IntoDescriptorKey, KeyError};
///
/// pub struct MySegwitOnlyKeyType {
/// pubkey: PublicKey,
//! let mut selected_amount = 0;
//! let mut additional_weight = 0;
//! let all_utxos_selected = required_utxos
-//! .into_iter().chain(optional_utxos)
-//! .scan((&mut selected_amount, &mut additional_weight), |(selected_amount, additional_weight), weighted_utxo| {
-//! **selected_amount += weighted_utxo.utxo.txout().value;
-//! **additional_weight += TXIN_BASE_WEIGHT + weighted_utxo.satisfaction_weight;
-//! Some(weighted_utxo.utxo)
-//! })
+//! .into_iter()
+//! .chain(optional_utxos)
+//! .scan(
+//! (&mut selected_amount, &mut additional_weight),
+//! |(selected_amount, additional_weight), weighted_utxo| {
+//! **selected_amount += weighted_utxo.utxo.txout().value;
+//! **additional_weight += TXIN_BASE_WEIGHT + weighted_utxo.satisfaction_weight;
+//! Some(weighted_utxo.utxo)
+//! },
+//! )
//! .collect::<Vec<_>>();
//! let additional_fees = additional_weight as f32 * fee_rate.as_sat_vb() / 4.0;
-//! let amount_needed_with_fees = (fee_amount + additional_fees).ceil() as u64 + amount_needed;
-//! if amount_needed_with_fees > selected_amount {
-//! return Err(bdk::Error::InsufficientFunds{ needed: amount_needed_with_fees, available: selected_amount });
+//! let amount_needed_with_fees =
+//! (fee_amount + additional_fees).ceil() as u64 + amount_needed;
+//! if amount_needed_with_fees > selected_amount {
+//! return Err(bdk::Error::InsufficientFunds {
+//! needed: amount_needed_with_fees,
+//! available: selected_amount,
+//! });
//! }
//!
//! Ok(CoinSelectionResult {
//! let to_address = Address::from_str("2N4eQYCbKUHCCTUjBJeHcJp9ok6J2GZsTDt").unwrap();
//! let (psbt, details) = {
//! let mut builder = wallet.build_tx().coin_selection(AlwaysSpendEverything);
-//! builder
-//! .add_recipient(to_address.script_pubkey(), 50_000);
+//! builder.add_recipient(to_address.script_pubkey(), 50_000);
//! builder.finish()?
//! };
//!
/// let (psbt1, details) = {
/// let mut builder = wallet.build_tx();
/// builder
-/// .ordering(TxOrdering::Untouched)
-/// .add_recipient(addr1.script_pubkey(), 50_000)
-/// .add_recipient(addr2.script_pubkey(), 50_000);
+/// .ordering(TxOrdering::Untouched)
+/// .add_recipient(addr1.script_pubkey(), 50_000)
+/// .add_recipient(addr2.script_pubkey(), 50_000);
/// builder.finish()?
/// };
///
/// builder.finish()?
/// };
///
-/// assert_eq!(psbt1.global.unsigned_tx.output[..2], psbt2.global.unsigned_tx.output[..2]);
+/// assert_eq!(
+/// psbt1.global.unsigned_tx.output[..2],
+/// psbt2.global.unsigned_tx.output[..2]
+/// );
/// # Ok::<(), bdk::Error>(())
/// ```
///
/// let mut path = BTreeMap::new();
/// path.insert("aabbccdd".to_string(), vec![0, 1]);
///
- /// let builder = wallet.build_tx()
+ /// let builder = wallet
+ /// .build_tx()
/// .add_recipient(to_address.script_pubkey(), 50_000)
/// .policy_path(path, KeychainKind::External);
///