8e54ada436f84fb5bbcd5f448b7fccc186387bb4 Add Transaction struct, update PSBT and Blockchain to use it (Steve Myers)
Pull request description:
### Description
Add new `Transaction` structure that can be created from transaction consensus encoded bytes. Update `PartiallySignedTransaction.extract_tx()` to return a `Transaction` instead of a the transaction bytes. Update `Blockchain.broadcast()` to take a `Transaction` parameter.
### Notes to the reviewers
Fixes#157.
### Changelog notice
#### Added
- New `Transaction` structure that can be created from or serialized to consensus encoded bytes.
#### Changed
- `PartiallySignedTransaction.extract_tx()` returns a `Transaction` instead of a the transaction bytes.
- `Blockchain.broadcast()` takes a `Transaction` instead of a `PartiallySignedTransaction`.
### 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:
* [ ] I've added tests for the new feature
* [x] I've added docs for the new feature
#### Bugfixes:
* [ ] This pull request breaks the existing API
* [ ] I've added tests to reproduce the issue which are now passing
* [ ] I'm linking the issue being fixed by this PR
ACKs for top commit:
thunderbiscuit:
Tested ACK 8e54ada436f84fb5bbcd5f448b7fccc186387bb4. I ran a script using bdk-jvm and your test vector. Looks good! Another win for the LDK/BDK integration.
Tree-SHA512: f5bfdafad93f0b4ada0756a8e68bdb12f2de680d8ae8a5083dbbeded6fc314bd79c8913f0b7f01e2eb807676092777ad8bf9466996cd51fa9587b8bb53170ca8
bdk::blockchain::Blockchain contains an `estimate_fee` api. This commit adds the bindings for estimate_fee.
This will fix https://github.com/bitcoindevkit/bdk-ffi/issues/287
Tested this by adding a unit test in lib.rs. Also generated the python code and verified that it is able to invoke estimate_fee and get the fee rate
4ed6e364e68648a3b5cf6773e8d74b74d922b315 Add API docs for RPC blockchain config and auth (thunderbiscuit)
d0cd3b0f389c10610ad58a999d42b4b7ca39ba6c Add Auth, RpcSyncParams, and RpcConfig (Steve Myers)
Pull request description:
Fixes#117. This adds the RPC blockchain config but I don't currently have a way to test it as part of the `bdk-kotlin` or `bdk-swift` automated testing, which would need to be able to spin up a local regtest bitcoind for the tests.
For now this will only be manually tested.
ACKs for top commit:
thunderbiscuit:
ACK [4ed6e36](4ed6e364e6).
Tree-SHA512: 2f114753a683c32ec957b26e23918eb3c1de07073fd0293e06fb960f8226f09d4d9ebf89f8d04f9da5cd459619f224d732b81e21c2173afeccb8ce56cc558582