]> Untitled Git - bdk/tag
v1.0.0-alpha.3
object 9efaead8f16a5a0bed18cea514cd94d6a9a0a582
authorSteve Myers <steve@notmandatory.org>
Sun, 7 Jan 2024 17:05:18 +0000 (11:05 -0600)
Release 1.0.0-alpha.3

Summary

This release changes LocalChain to have a hard-wired genesis block, adds context specific Wallet TxBuilder errors, and bumps the projects MSRV to 1.63. It also includes other API and docs improvements and bug fixes, see the changelog for all the details.

Changelog

Fixed

- Further improve unconfirmed tx conflict resolution. #1109
- Stuck Electrum chain sync issue. #1145
- Bug related to taproot signing with internal keys. We would previously sign with the first private key we had, without checking if it was the correct internal key or not. #1200
- Coinbase transactions cannot exist in the mempool and be unconfirmed. TxGraph::try_get_chain_position should always return None for coinbase transactions not anchored in best chain. #1202
- Esplora incorrect gap limit check in blocking client. #1225
- Loading a wallet from persistence now restores keychain indices. #1246

Changed

- Rename ConfirmationTimeAnchor to ConfirmationTimeHeightAnchor. #1206
- New LocalChain now have a hardwired genesis block: #1178
  - Changed ChainOracle::get_chain_tip method to return a BlockId instead of an Option of a BlockId.
  - Refactored LocalChain so that the genesis BlockId is hardwired. This way, the ChainOracle::get_chain_tip implementation can always return a tip.
  - Add is_empty method to PersistBackend. This returns true when there is no data in the persistence.
  - Changed Wallet::new to initialize a fresh wallet only.
  - Added Wallet::load to restore an instance of a wallet.
  - Replaced Store::new with separate methods to create/open the database file.
- Updated the bdk module to use new context specific error types: #1028
  - wallet: MiniscriptPsbtError, CreateTxError, BuildFeeBumpError error enums.
  - coin_selection: module Error enum.
- Renamed fallible Wallet address functions to try_get_address() and try_get_internal_address(). #1028
- Rename LocalUtxo to LocalOutput. #1190
- MSRV is now 1.63.0 for bdk, chain, and bitcoind_rpc crates. #1183
- Use a universal lookahead value for KeychainTxOutIndex and have a reasonable default. #1229
- Return NonEmptyDatabase error when constructing a wallet with Wallet::new if the file already contains data (in which case, the caller should use load or new_or_load). #1256
- In electrum_ext rename functions scan_without_keychain to sync and scan to full_scan. #1235
- In esplora_ext rename functions scan_txs to sync and scan_txs_with_keychains to full_scan. #1235
- Increase rust-bip39 dependency version to 2.0 #1259

Removed

- Removed catch-all top level bdk::Error enum. #1028
- Removed impl_error macro. #1028

Added

- Add infallible Wallet get_address and get_internal_address functions. #1028
- Add Wallet::list_output method. #1190
- New async-https-rustls feature flag for the bdk_esplora crate, allowing to compile rust-esplora-client using rustls-tls instead of the default native-tls. #1179
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE2f+QEL4Wm2TT7cv5gQWkayLC0FEFAmWa20IACgkQgQWkayLC
0FElQBAA0KttWXh/AKkfqiS8+CbyVVb2iCaRa1J3ZoKuc7KNrKncDtP2T4ZLJCJJ
/DNdfusCfo7L+S6S1jBYZhlCeFz7zr6WGEj0yxNAfjzFnGk9uFGZXUdc3hLxKkIs
pwYHyIzwxX7xNv7bzHXn+PBf4CtqQnLexRDpb94Ir1AlTcHlrPT1uHEO01tPkXuO
vffgqvRmcYUD9wPm1iFkaytTKuJAWZqxVOMb3Z72jV8sMK66f/RwFHCJdiL97l0+
0LFdPBz02HOmEwrm2SK10/vJgBphWss8IuFEtyyieybUdgFbIl9HEXxe2FrtLUfl
Wt8eCwAtXipreBKx1zqBM6vo4IN97DcotmL1fmTeCR7ZZTdlcRCIZ9eJ6JyqM/W2
b3yWtXQBMoByQhg/qLGr+8uqockpEXE7bSeU9YX5M8AQrupt61o+bgNrMgKM71Lz
pFZcYkFnF97PXhlY7/+p3mMHKFrN8nmHLaRkA4nuNl6gjThs7ePOfROa63y+SJcq
kBaMsnZ20qZLNPXIokG3+5H7B8FXqYY3aqhQv4xDzJaSuH1541cSxAQcM9eL8opy
lxw3/WHMJPkR0L9Qul2haUd7eHgsVRQhe5y0QHS+PM2HsWCkFggXr8XaiYDejnn7
BfMkEtMmj+iZmOYAp05ssQbUQRkJza6g317X6HyUiEW259CFiIc=
=wlh9
-----END PGP SIGNATURE-----
-----BEGIN OPENTIMESTAMPS GIT TIMESTAMP-----

AQHwIJNKFHKQUJOqu5XDS/QWroceb4a6HDiJ5pD3xA+5ATYoCP/wEHgzDfiAAbjd
ZvHE/OPqz68I8QRlmttD8AhEuwa4DA0F/ACD3+MNLvkMjiwraHR0cHM6Ly9ib2Iu
YnRjLmNhbGVuZGFyLm9wZW50aW1lc3RhbXBzLm9yZ//wEPsdORHAHHNyCA8oQA79
5WII8QRlmttE8AgTJJkHsK/LYgCD3+MNLvkMjiMiaHR0cHM6Ly9idGMuY2FsZW5k
YXIuY2F0YWxsYXh5LmNvbfAQ/Kn2A8bcjFV/OEax2s8AQAjwII8GgekWitRtByqF
RtjIeGJvrgGWMWBJ3ywUK7gW57R9CPAgGcrk8oTD8UiecQQg0ZVex6PvSc9+4dFf
d60LXW2qR3oI8QRlmttE8AhFGrXjgdC6EQCD3+MNLvkMjikoaHR0cHM6Ly9maW5u
ZXkuY2FsZW5kYXIuZXRlcm5pdHl3YWxsLmNvbQ==
-----END OPENTIMESTAMPS GIT TIMESTAMP-----