Allow creating transactions with dust outputs

Add TxBuilder::allow_dust() that skips checking the dust limit
This commit is contained in:
Liam
2022-07-29 15:30:43 -04:00
parent 061f15af00
commit bfd7b2f65d
3 changed files with 41 additions and 5 deletions

View File

@@ -148,6 +148,7 @@ pub(crate) struct TxParams {
pub(crate) include_output_redeem_witness_script: bool,
pub(crate) bumping_fee: Option<PreviousFee>,
pub(crate) current_height: Option<u32>,
pub(crate) allow_dust: bool,
}
#[derive(Clone, Copy, Debug)]
@@ -560,6 +561,14 @@ impl<'a, D: BatchDatabase, Cs: CoinSelectionAlgorithm<D>, Ctx: TxBuilderContext>
self.params.current_height = Some(height);
self
}
/// Set whether or not the dust limit is checked.
///
/// **Note**: by avoiding a dust limit check you may end up with a transaction that is non-standard.
pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self {
self.params.allow_dust = allow_dust;
self
}
}
impl<'a, D: BatchDatabase, Cs: CoinSelectionAlgorithm<D>> TxBuilder<'a, D, Cs, CreateTx> {