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.
- Add
SelectorError::InsufficientAssetsvariant #39 - Add
SelectorError::LockTypeMismatchvariant #72 - Add members
change_script,change_dust_relay_feerate,change_min_value,change_longterm_feeratetoSelectorParams#39 - Add trait
FeeRateExt#39 - Add
is_block_timelockedandis_time_timelockedmethods forInputandInputGroup#36 - Add
anti_fee_sniping: Option<Height>field toPsbtParamsfor BIP326 anti-fee-sniping protection #5 #65 - Add
AntiFeeSnipingErrorenum withUnsupportedLockTimeandUnsupportedVersionvariants;CreatePsbtError::AntiFeeSnipingwraps this type #65 - Add
Selection::create_psbt_with_rngmethod for custom RNG #5 - Update signer impl for
XOnlyPublicKey#20 - Allow multiple change sources on
SelectorParamsviaChangeScript#18 - Re-export
bdk_coin_selectcrate - Add
ChangeScriptenum for specifying change outputs viaDescriptor(with optionalAssets) or rawScript#39 - Add
SetSequenceErrorenum for errors when callingset_sequenceon an input #66 - Add
InputMutstruct providing mutable access to anInput, exposingset_sequence#72 - Add
Input::set_sequencemethod #66 - Add
Input::is_spendableandInputGroup::is_spendablemethods #36 - Add
FromPsbtInputError::AbsoluteTimelockDisabledvariant #66 - Add
Selection::input_mutandSelection::inputs_mutfor mutable input access #72 - Add
Selection::inputs()andSelection::outputs()accessor methods #72 - Add
Selection::shuffle_inputs,shuffle_outputs,sort_inputs_by,sort_outputs_byfor ordering inputs and outputs #72 - Add
RbfParams::descendant_feefield #50 - Add
Output::from((ScriptSource, Amount))conversion impl #18 - Add
PsbtParams::min_locktimefield #65
- ci: update CI actions and enable caching #46
- ci: add code coverage workflow #45
SelectorParams::newis changed to accepttarget_feerate,target_outputs, andchange_scriptas inputs #39SelectorParamsis no longerClone#39SelectorParams::to_cs_change_policynow returnsResult<_, SelectorError>instead ofResult<_, miniscript::Error>#39is_timelockedis changed forInputandInputGroupto take(tip_height: Height, tip_mtp: Option<Time>)and returnOption<bool>#36TxStatusis renamed toConfirmationStatus; itstime: Timefield is replaced byprev_mtp: Option<Time>, andConfirmationStatus::newtakesprev_mtp: Option<u32>instead oftime: u64#36filter_unspendable_nowis renamed tofilter_unspendable#36CreatePsbtError::MissingFullTxForLegacyInputandCreatePsbtError::MissingFullTxForSegwitV0Inputnow wrapInputinBox#5PsbtParams::fallback_locktimerenamed tomin_locktime#65Selection::inputsandSelection::outputschanged from public fields to accessor methods #72ScriptSource::Descriptornow wrapsDefiniteDescriptorinBox#11CanonicalUnspents::try_get_foreign_unspentandtry_get_foreign_unspentsnow accept anabsolute_timelock: Option<LockTime>parameter #66RbfParams::newandRbfSet::newnow require adescendant_fee: Amountparameter #50Selector::change_policyrenamed tocs_change_policy#39- docs: Improve documentation of
Finalizer#34 - chore: Bump MSRV to 1.85.0 #23
- deps: Bump
miniscriptto 12.3.7 - deps: Bump
bdk_coin_selectto 0.4.1 - deps: Bump
bitcointo 0.32.10 - deps: Bump
bdk_bitcoind_rpcto 0.22.0 - deps: Bump
bdk_chainto 0.23.3
- 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_locktimein locktime accumulation #24
- Removed
change_descriptorfield fromSelectorParams#18 - Removed
ChangePolicyTypeenum #32 - Removed
PolicyFailure<PF>enum andMissingOutputsstruct #53 - Removed
CreatePsbtError::LockTypeMismatchvariant #72 - Removed
PsbtParams::fallback_sequencefield #66 - Removed
SelectorParams::to_cs_change_weightsmethod #39 - Removed
Input::is_spendable_now(replaced byInput::is_spendable) #36
- The new "Tx builder" #1