* Add docs for AddressInfo and AddressIndex structs
* Add docs for DatabaseConfig and ElectrumConfig
* Add docs for EsploraConfig struct
* Add docs for TransactionDetails struct
* Add docs for OutPoint struct
* Add docs for TxOut struct
* Add docs for TxBuilder
5944756b780968588e97886d888bb854aa2053ad Added tests for DescriptorSecretKey and DescriptorPublicKey (dhruvbaliyan)
58fea6b2050d9f10b1c5429cce4f4969c155e9e3 Added interfaces DescriptorSecretKey and DescriptorPublicKey (dhruvbaliyan)
4977cb6d68830accf036b192dba3c524253e53f2 Added interface DerivationPath (dhruvbaliyan)
930a1f1eb4a64bf447dec2493edd9948be67f119 Added generate_mnemonic method (dhruvbaliyan)
973013cbdfb0093c9d0bc8d2f5176c981160e060 Removed ExtendedKeyInfo & related methods (dhruvbaliyan)
Pull request description:
Would like to know if anything can be improved. Completes #87
Top commit has no ACKs.
Tree-SHA512: a480535c8965015d860336c717ec3c394778ac08194b0336eeba4209f3e3eff2072873a190dd8c9e4fac1e2f712c7040c838dc1c1a757d53c28866f118c99c17
6d53cbeb2502602d1bab0fd11f63d203f61b507a Fix fmt error (Steve Myers)
1a12f37a2f1c5f99e3b590b3ba070859120a9f8e Set MSRV to 1.57.0 (Steve Myers)
Pull request description:
### Description
The `master` branch is currently not passing the new github checks.
A required dependency of `bdk-ffi-bindgen` is `uniffi_bindgen` and it depends on `os_str_bytes` v6.2.0 which has a MSRV of 1.57.0. I therefore had to make the MSRV of `bdk-ffi` also 1.57.0 and update the github actions. This PR also fixes a small `cargo fmt` warning.
### Notes to the reviewers
```shell
% cargo +1.56.1 build
error: package `os_str_bytes v6.2.0` cannot be built because it requires rustc 1.57.0 or newer, while the currently active rustc version is 1.56.1
```
```shell
% cargo tree -i os_str_bytes
os_str_bytes v6.2.0
└── clap_lex v0.2.4
└── clap v3.1.18
└── uniffi_bindgen v0.19.3
└── bdk-ffi-bindgen v0.2.0 (/Users/steve/git/notmandatory/bdk-ffi/bdk-ffi-bindgen)
```
### 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
Top commit has no ACKs.
Tree-SHA512: 87ad4a02d91184b421871354b1f5c31d906bf7460fe992db15666da32a65f13d8fbaf4ae53928f410a7206b195c8dff76af07210c144a4d02854ceb6af265f7e
e469dcd32c174e6a3d898f9e61196231f4671159 Add test with funded wallet (Steve Myers)
Pull request description:
This PR adds an example test using the `bdk` test funded wallet. The example test makes sure the `bdk-ffi` `TxBuilder` is able to drain a single wallet UTXO to a single address. More tests can be added as we need them in future PRs.
Required to complete #141
Top commit has no ACKs.
Tree-SHA512: 780e8cf5b3d3091f3322113f017c5b5524b30a3ac9e18910539c51042740d2809535a947b8d56012076ac5e9ad1abcf707ceaf17651457ea327a0b522fcc1002
9a3d6098261a73e8005e78a7ea2791734321af93 Match bdk API and return a boolean when signing a PSBT (thunderbiscuit)
Pull request description:
This is a fix for #160.
I was looking at the `get_transactions()` method just below and I'm not sure which syntax is best (let me know if you have opinions on this) between
What I have:
```rust
fn sign(&self, psbt: &PartiallySignedBitcoinTransaction) -> Result<bool, Error> {
let mut psbt = psbt.internal.lock().unwrap();
self.get_wallet().sign(&mut psbt, SignOptions::default())
}
```
If I mirrored `get_transactions()`:
```rust
fn sign(&self, psbt: &PartiallySignedBitcoinTransaction) -> Result<bool, Error> {
let mut psbt = psbt.internal.lock().unwrap();
let finalized = self.get_wallet().sign(&mut psbt, SignOptions::default())?;
Ok(finalized)
}
```
ACKs for top commit:
notmandatory:
reACK 9a3d6098261a73e8005e78a7ea2791734321af93
Tree-SHA512: c220929ea9bf7f670c850aebef1c2ebefcbf354f3887e692be36dced30e0e180816426bd58c5a58f61a9759e2f9f451b56e9448f42c23e26f96cf857fd6aa37c
efc475e33f6f36ac07f142471325f7f59254061f Clean up UDL file (thunderbiscuit)
Pull request description:
This PR groups related constructs together, fixes indentation inconsistencies (2 spaces is the standard), and adds space between methods in interfaces.
ACKs for top commit:
notmandatory:
ACK efc475e33f6f36ac07f142471325f7f59254061f
Tree-SHA512: 8b37afd1d05f23cb51e04664459b88f3cf415f8616ee0a080294bc27c71c16ed8049ea605b4b41091e4c8276b107da21aff0c1712f2ebfb0dd059f68a4240745