Skip to content

Latest commit

 

History

History
90 lines (73 loc) · 7.31 KB

File metadata and controls

90 lines (73 loc) · 7.31 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Added

  • Add SelectorError::InsufficientAssets variant #39
  • Add SelectorError::LockTypeMismatch variant #72
  • Add members change_script, change_dust_relay_feerate, change_min_value, change_longterm_feerate to SelectorParams #39
  • Add trait FeeRateExt #39
  • Add is_block_timelocked and is_time_timelocked methods for Input and InputGroup #36
  • Add anti_fee_sniping: Option<Height> field to PsbtParams for BIP326 anti-fee-sniping protection #5 #65
  • Add AntiFeeSnipingError enum with UnsupportedLockTime and UnsupportedVersion variants; CreatePsbtError::AntiFeeSniping wraps this type #65
  • Add Selection::create_psbt_with_rng method for custom RNG #5
  • Update signer impl for XOnlyPublicKey #20
  • Allow multiple change sources on SelectorParams via ChangeScript #18
  • Re-export bdk_coin_select crate
  • Add ChangeScript enum for specifying change outputs via Descriptor (with optional Assets) or raw Script #39
  • Add SetSequenceError enum for errors when calling set_sequence on an input #66
  • Add InputMut struct providing mutable access to an Input, exposing set_sequence #72
  • Add Input::set_sequence method #66
  • Add Input::is_spendable and InputGroup::is_spendable methods #36
  • Add FromPsbtInputError::AbsoluteTimelockDisabled variant #66
  • Add Selection::input_mut and Selection::inputs_mut for mutable input access #72
  • Add Selection::inputs() and Selection::outputs() accessor methods #72
  • Add Selection::shuffle_inputs, shuffle_outputs, sort_inputs_by, sort_outputs_by for ordering inputs and outputs #72
  • Add RbfParams::descendant_fee field #50
  • Add Output::from((ScriptSource, Amount)) conversion impl #18
  • Add PsbtParams::min_locktime field #65

Changed

  • ci: update CI actions and enable caching #46
  • ci: add code coverage workflow #45
  • SelectorParams::new is changed to accept target_feerate, target_outputs, and change_script as inputs #39
  • SelectorParams is no longer Clone #39
  • SelectorParams::to_cs_change_policy now returns Result<_, SelectorError> instead of Result<_, miniscript::Error> #39
  • is_timelocked is changed for Input and InputGroup to take (tip_height: Height, tip_mtp: Option<Time>) and return Option<bool> #36
  • TxStatus is renamed to ConfirmationStatus; its time: Time field is replaced by prev_mtp: Option<Time>, and ConfirmationStatus::new takes prev_mtp: Option<u32> instead of time: u64 #36
  • filter_unspendable_now is renamed to filter_unspendable #36
  • CreatePsbtError::MissingFullTxForLegacyInput and CreatePsbtError::MissingFullTxForSegwitV0Input now wrap Input in Box #5
  • PsbtParams::fallback_locktime renamed to min_locktime #65
  • Selection::inputs and Selection::outputs changed from public fields to accessor methods #72
  • ScriptSource::Descriptor now wraps DefiniteDescriptor in Box #11
  • CanonicalUnspents::try_get_foreign_unspent and try_get_foreign_unspents now accept an absolute_timelock: Option<LockTime> parameter #66
  • RbfParams::new and RbfSet::new now require a descendant_fee: Amount parameter #50
  • Selector::change_policy renamed to cs_change_policy #39
  • docs: Improve documentation of Finalizer #34
  • chore: Bump MSRV to 1.85.0 #23
  • deps: Bump miniscript to 12.3.7
  • deps: Bump bdk_coin_select to 0.4.1
  • deps: Bump bitcoin to 0.32.10
  • deps: Bump bdk_bitcoind_rpc to 0.22.0
  • deps: Bump bdk_chain to 0.23.3

Fixed

  • fix: replace deprecated FeeRate::from_sat_per_vb_unchecked #51
  • fix(finalizer): set finalized to false on error and add full coverage #44
  • fix(selection): Improve handling of fallback locktime #43
  • Fix locktime calculations and improve API #36
  • fix: Include fallback_locktime in locktime accumulation #24

Removed

  • Removed change_descriptor field from SelectorParams #18
  • Removed ChangePolicyType enum #32
  • Removed PolicyFailure<PF> enum and MissingOutputs struct #53
  • Removed CreatePsbtError::LockTypeMismatch variant #72
  • Removed PsbtParams::fallback_sequence field #66
  • Removed SelectorParams::to_cs_change_weights method #39
  • Removed Input::is_spendable_now (replaced by Input::is_spendable) #36

Added

  • The new "Tx builder" #1