ChangePolicyDescriptor,
/// There was an error with coin selection
CoinSelection(coin_selection::Error),
- /// Wallet's UTXO set is not enough to cover recipient's requested plus fee
- InsufficientFunds {
- /// Sats needed for some transaction
- needed: u64,
- /// Sats available for spending
- available: u64,
- },
/// Cannot build a tx without recipients
NoRecipients,
/// Partially signed bitcoin transaction error
)
}
CreateTxError::CoinSelection(e) => e.fmt(f),
- CreateTxError::InsufficientFunds { needed, available } => {
- write!(
- f,
- "Insufficient funds: {} sat available of {} sat needed",
- available, needed
- )
- }
CreateTxError::NoRecipients => {
write!(f, "Cannot build tx without recipients")
}
use crate::wallet::coin_selection::Excess::{Change, NoChange};
use crate::wallet::error::{BuildFeeBumpError, CreateTxError, MiniscriptPsbtError};
+use self::coin_selection::Error;
+
const COINBASE_MATURITY: u32 = 100;
/// A Bitcoin wallet
change_fee,
} = excess
{
- return Err(CreateTxError::InsufficientFunds {
+ return Err(CreateTxError::CoinSelection(Error::InsufficientFunds {
needed: *dust_threshold,
available: remaining_amount.saturating_sub(*change_fee),
- });
+ }));
}
} else {
return Err(CreateTxError::NoRecipients);