e469dcd32c 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
9a3d609826 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 9a3d609826
Tree-SHA512: c220929ea9bf7f670c850aebef1c2ebefcbf354f3887e692be36dced30e0e180816426bd58c5a58f61a9759e2f9f451b56e9448f42c23e26f96cf857fd6aa37c
efc475e33f 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 efc475e33f
Tree-SHA512: 8b37afd1d05f23cb51e04664459b88f3cf415f8616ee0a080294bc27c71c16ed8049ea605b4b41091e4c8276b107da21aff0c1712f2ebfb0dd059f68a4240745
30e54ac067 Bump version to 0.6.0 (Steve Myers)
Pull request description:
ACKs for top commit:
thunderbiscuit:
ACK 30e54ac067.
Tree-SHA512: 235e1f894ba5bfac2fa60330d6e38c6179aaa27b4c6cb8cede17974207c9e04674d4cbbbaaa1705578e0552f09cc78db3ee1015e14cad91281a9d06764495cdd
0787d9c446 Fix order of BumpFeeTxBuilder parameters (Steve Myers)
390d12703e Change TxBuilder and BumpFeeTxBuilder build() to finish() (Steve Myers)
9f903932dc Add BumpFeeTxBuilder (Steve Myers)
Pull request description:
Add BumpFeeTxBuilder to bump the fee on an unconfirmed tx created by the Wallet. The structure of the new interface is:
```udl
interface BumpFeeTxBuilder {
constructor(string txid, float new_fee_rate);
BumpFeeTxBuilder allow_shrinking(string address);
BumpFeeTxBuilder enable_rbf();
BumpFeeTxBuilder enable_rbf_with_sequence(u32 nsequence);
[Throws=BdkError]
PartiallySignedBitcoinTransaction build([ByRef] Wallet wallet);
};
```
Fixes#150
Top commit has no ACKs.
Tree-SHA512: a24ed41f7b897a0e091ef55d4c1347b3973cbe628b7d1bd69c95e663bc6f049de8f7e3b019115d763cff3fa6d5cb4d31ed474022c3087e8404a2af37f380d56d
f38f4c6197 Update CHANGELOG (Steve Myers)
11ba16ec1b Move txid getter to PartiallySignedBitcoinTransaction (Steve Myers)
4665c551dd Update EsploraConfig, Blockchain broadcast, Wallet sync (Steve Myers)
907540d214 Update bdk to 0.18.0 with sqlite-bundled feature (Steve Myers)
Pull request description:
Changes that were needed to match updated bdk APIs:
* new bdk-ffi `Blockchain` interface with `constructo(BlockchainConfig)` and `broadcast()` functions
* `Blockchain.broadcast()` function is now void (doesn't return txid)
* added `PartiallySignedBitcoinTransaction.txid()` getter function
* `Wallet.sync()` function now takes a `Blockchain` and optional `Progress` callback interface
Tests performed:
* from `bdk-kotlin/bdk-ffi` added local remote to this branch, ran build.sh script
* fixed broken `bdk-kotlin` jvm and android tests and confirmed tests all pass
Top commit has no ACKs.
Tree-SHA512: d50633bbc8fd8a0d141597b30122c72957d2a0d64fc1537b649eeb8a5df1b1fb9a78ee1f03b9c606f47dee3952c9a91ae09eb47eb7a66d5f0fcb5545c86d906b
c722223b49 Fix fee parameter typo in TransactionDetails (dhruvbaliyan)
Pull request description:
Solves issue #136
Generated Kotlin file now have "fee" in TransactionDetails as parameter instead of "fees"
```
data class TransactionDetails (
var fee: ULong?,
var received: ULong,
var sent: ULong,
var txid: String
) {
// ...
}
```
ACKs for top commit:
thunderbiscuit:
Tested ACK c722223. Works as expected in my apps. Thanks for the quick fix!
Tree-SHA512: c55a6e77ca5a0cd19758fc628fc48ed997b3c86247a1eadf5be77771818e3aa5f4db10025e7aa30d05be573e94d7439b15c7fc1f3d6dad752487f7f1ad455367
220835cffd Add RBF to TxBuilder (Sudarsan Balaji)
b3c93b0435 Expose functions (Sudarsan Balaji)
Pull request description:
Fix#133
We need to create another `RbfValue` enum because the actual type is only visible within the crate in `bdk`.
ACKs for top commit:
notmandatory:
tACK 220835cffd
Tree-SHA512: 648ea26a9742c8a395876f38c7299ff0dabb4ccad64e2f6a47d29ceecf44d9e54d845410fa68665e4d4d03d8eda1e51f680d0b89df307b003de49cf7b98e8701
8a556d0ba0 Bump bdk-ffi version to 0.5.0 (Steve Myers)
d7c5f24fe8 Bump bdk-ffi-bindgen version to 0.2.0 (Steve Myers)
f1431c3073 Update CHANGELOG.md (Steve Myers)
Pull request description:
Top commit has no ACKs.
Tree-SHA512: 2d612936740b93148c90acf512005c82e1fe38b4708710952abeac03d361e7dca6c6bdea4e82981a87dbba1cb6d37c0bd48b4ab252467798aa60aca463af5e5e
b207464fe6 Update README.md with bdk-ffi-bindgen info (Steve Myers)
fca5d1602b Add workspace and move bin to bdk-ffi-bindgen package (Steve Myers)
f4e097c4ac Only print python fix up lib path if used (Steve Myers)
c66dfdd52a Use structopt to capture generate options (Steve Myers)
ce848725b4 Add binary to remove the need for uniffi-bindgen cli tool (thunderbiscuit)
Pull request description:
This PR is based on the mozilla/application-services [embedded-uniffi-bindgen](https://github.com/mozilla/application-services/tree/main/tools/embedded-uniffi-bindgen) tool. The purpose is to keep the bdk-ffi and bdk-ffi-bindgen tool in sync with the same version of uniffi-rs.
Fixes#124, this PR replaces #122.
The `bdkffi` library code remains unchanged but the `bin/generate` and `bin/generate-bindings` bins are combined and put in a new workspace binary package called `bdk-ffi-bindgen`. The `bdk-ffi-bindgen` binary uses the following options, defaults, and environment variables:
```shell
% cargo run -p bdk-ffi-bindgen -- --help
bdk-ffi-bindgen 0.1.0
A tool to generate bdk-ffi language bindings
USAGE:
bdk-ffi-bindgen [OPTIONS] --language <language> --out-dir <out-dir>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-l, --language <language>
Language to generate bindings for [env: BDKFFI_BINDGEN_LANGUAGE=] [possible values: kotlin, swift, python]
-o, --out-dir <out-dir>
Output directory to put generated language bindings [env: BDKFFI_BINDGEN_OUTPUT_DIR=]
-p, --python-fixup-path <python-fixup-path> Python fix up lib path [env: BDKFFI_BINDGEN_PYTHON_FIXUP_PATH=]
-u, --udl-file <udl-file> UDL file [env: BDKFFI_BINDGEN_UDL=] [default: src/bdk.udl]
```
Top commit has no ACKs.
Tree-SHA512: fa1a1c097fe5d0e704d76078c10f82c466dad5d045c8c93d579c2d13c448c52fb6a4f99dfd3dbc46be30471477ae2d1f9264201e14bae7948b408c8e0b3c9b81