552f11cb5f66a9366dbc05c801fcae043ebe5b82 feat(esplora): include previous `TxOut`s for fee calculation The previous `TxOut` for transactions received from an external wallet are added as floating `TxOut`s to `TxGraph` to allow for fee calculation. (Wei Chen) Pull request description: ### Description Partially implements #1265. The previous `TxOut` for transactions received from an external wallet are added as floating `TxOut`s to `TxGraph` to allow for fee calculation. ### Notes to the reviewers Currently only the `esplora` portion of #1265 has been implemented. The `electrum` portion will potentially be done in a new PR, as discussed on the 1/30/24 Lib call. ### Checklists #### To Do: * [ ] Implement `electrum` portion of #1265. #### All Submissions: * [x] I've signed all my commits * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md) * [x] I ran `cargo fmt` and `cargo clippy` before committing #### New Features: * [x] I've added tests for the new feature * [x] I've added docs for the new feature ACKs for top commit: evanlinjin: re-ACK 552f11cb5f66a9366dbc05c801fcae043ebe5b82 danielabrozzoni: ACK 552f11cb5f66a9366dbc05c801fcae043ebe5b82 Tree-SHA512: 752a24ebd0b9ad7952c1b093ecb251473e346c77b860c1a80c73418130189227405a0f0d7652967cf8c7b89994e8c37df96cd52b52b6daff9cc8c88b5194069a
BDK Esplora
BDK Esplora extends esplora-client
to update bdk_chain
structures
from an Esplora server.
Usage
There are two versions of the extension trait (blocking and async).
For blocking-only:
bdk_esplora = { version = "0.3", features = ["blocking"] }
For async-only:
bdk_esplora = { version = "0.3", features = ["async"] }
For async-only (with https):
bdk_esplora = { version = "0.3", features = ["async-https"] }
To use the extension traits:
// for blocking
use bdk_esplora::EsploraExt;
// for async
// use bdk_esplora::EsploraAsyncExt;
For full examples, refer to example-crates/wallet_esplora_blocking
and example-crates/wallet_esplora_async
.