]> Untitled Git - bdk/commitdiff
doc(bdk): Clarify the absolute_fee, fee_rate docs
authorDaniela Brozzoni <danielabrozzoni@protonmail.com>
Mon, 9 Oct 2023 10:22:42 +0000 (12:22 +0200)
committerDaniela Brozzoni <danielabrozzoni@protonmail.com>
Thu, 9 Nov 2023 08:00:49 +0000 (09:00 +0100)
Fixes #1066

crates/bdk/src/wallet/tx_builder.rs

index 37e85a12401830acfa06ebe16854e7d63b8a6a22..36ddd3a9b27a0b8f773d11c3953b8f94c333c597 100644 (file)
@@ -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