From 0ecc0280c032301dc638e75e54a8691d66d50274 Mon Sep 17 00:00:00 2001 From: Daniela Brozzoni Date: Mon, 9 Oct 2023 12:22:42 +0200 Subject: [PATCH] doc(bdk): Clarify the absolute_fee, fee_rate docs Fixes #1066 --- crates/bdk/src/wallet/tx_builder.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/bdk/src/wallet/tx_builder.rs b/crates/bdk/src/wallet/tx_builder.rs index 37e85a124..36ddd3a9b 100644 --- a/crates/bdk/src/wallet/tx_builder.rs +++ b/crates/bdk/src/wallet/tx_builder.rs @@ -188,6 +188,10 @@ impl<'a, D, Cs: CoinSelectionAlgorithm, Ctx: TxBuilderContext> TxBuilder<'a, D, /// * btc/kvB (0.00001000 btc/kvB == 1 sats/vB) using FeeRate::from_btc_per_kvb /// * sats/kwu (250 sats/kwu == 1 sats/vB) using FeeRate::from_sat_per_kwu /// Default is 1 sat/vB (see min_relay_fee) + /// + /// Note that this is really a minimum feerate -- it's possible to + /// overshoot it slightly since adding a change output to drain the remaining + /// excess might not be viable. pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self { self.params.fee_policy = Some(FeePolicy::FeeRate(fee_rate)); self @@ -198,6 +202,10 @@ impl<'a, D, Cs: CoinSelectionAlgorithm, Ctx: TxBuilderContext> TxBuilder<'a, D, /// If anyone sets both the fee_absolute method and the fee_rate method, /// the FeePolicy enum will be set by whichever method was called last, /// as the FeeRate and FeeAmount are mutually exclusive. + /// + /// Note that this is really a minimum absolute fee -- it's possible to + /// overshoot it slightly since adding a change output to drain the remaining + /// excess might not be viable. pub fn fee_absolute(&mut self, fee_amount: u64) -> &mut Self { self.params.fee_policy = Some(FeePolicy::FeeAmount(fee_amount)); self