fadb316451af080bf22774a164278cef04acd9cc Change TxBuilder.finish() to return new TxBuilderResult (Steve Myers)
Pull request description:
### Description
Change TxBuilder.finish() to return new TxBuilderResult.
### Notes to the reviewers
This fixes#179 in that it return both PartiallySignedBitcoinTransaction and TransactionDetails encapsulated in a new TxBuilderResult structure. It does not calculate the fee rate which requires #208.
### Changelog notice
- Breaking Changes
- Changed `TxBuilder.finish()` to return new `TxBuilderResult`.
- APIs Added
- Added `TxBuilderResult` with PSBT and TransactionDetails.
### Checklists
#### 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:
thunderbiscuit:
ACK [fadb316](fadb316451).
Tree-SHA512: b8aafc53ba86bf7ab12ae3d5bb251d1ec5cb54e4b7d6bfc342155d5cd3726d9a6d114591dc740a7467afb8ef402f3d77ad51e273a27865d6e47192291b570af9
This feature is needed for compatibility with LDKLite, where the
initial entropy given to LDK is the private key of the root of
the BIP32 derivation tree.
Closes#188
3c6075ad96afa238dc3ceca71ba82cb10088bb90 Add Balance struct and conversion from BdkBalance (thunderbiscuit)
4e15badb14d34db4911641f345e99987d132a81c Update BDK to version 0.22 (thunderbiscuit)
Pull request description:
The bindings do not build when attempting this upgrade because `get_balance()` now returns a `Balance` struct (this was merged in bitcoindevkit/bdk#640)
```sh
error[E0308]: mismatched types
--> src/lib.rs:433:9
|
432 | fn get_balance(&self) -> Result<u64, Error> {
| ------------------ expected `Result<u64, bdk::Error>` because of return type
433 | self.get_wallet().get_balance()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found struct `Balance`
|
= note: expected enum `Result<u64, _>`
found enum `Result<Balance, _>`
For more information about this error, try `rustc --explain E0308`.
error: could not compile `bdk-ffi` due to previous error
```
When we upgrade to `0.22.0` we could decide to add the `Balance` struct to the bindings, or simply return the total by calling `get_total()`, which returns a `u64` (same as we have now).
ACKs for top commit:
notmandatory:
ACK 3c6075ad96afa238dc3ceca71ba82cb10088bb90
Tree-SHA512: 13d2f83f992735f4f9619ae339d7834df08385129edf06bac830c298b433571af3f211e92a6da1f4f9646dec27dbd2c6133a035f26eac8757b7a1c94b54b463d