Commit Graph

1078 Commits

Author SHA1 Message Date
yellowhatpro
49e8fe461e added support for x86_64-pc-windows-msvc 64-bit MSVC 2023-06-05 10:09:14 -04:00
Matthew
de88184b8c github: add feature request issue template 2023-05-30 15:27:34 -05:00
thunderbiscuit
3be2c0495f Clean up is_mine method body 2023-05-15 09:01:39 -04:00
thunderbiscuit
2c4c64515f Fix Clippy warning 2023-05-03 15:13:22 -04:00
thunderbiscuit
17323d3184 Add Kotlin API docs for isMine method 2023-05-03 14:21:37 -04:00
thunderbiscuit
b382511a9e Add is_mine method on Wallet type
Closes #354
2023-05-03 14:19:50 -04:00
Steve Myers
d3895441d3 Update bdk-swift/build-local-swift.sh for aarch64-apple-ios-sim to use release-smaller profile 2023-05-01 11:37:05 -05:00
Steve Myers
269512a673 Fix bdk-swift/build-local-swift.sh for aarch64-apple-ios-sim 2023-05-01 10:40:07 -05:00
thunderbiscuit
d27206787a Add supported Python library changes to changelog 2023-04-28 09:00:37 -04:00
thunderbiscuit
c1b1fd6f5d Update changelog for 0.28.0 release 2023-04-28 08:57:11 -04:00
thunderbiscuit
7062fbd047 Update minor_release and patch_release templates 2023-04-28 08:56:58 -04:00
thunderbiscuit
0e34a6bacf Bump snapshot and dev versions of libraries 2023-04-28 08:56:47 -04:00
thunderbiscuit
89e85a20cf Fix Python libraries' names to prepare for releasing 2023-04-25 13:53:27 -04:00
David Sterling
d8718c3f05 Update bdk-jvm README build instructions
The current build instructions for bdk-jvm are insufficient for someone to build bdk-jvm from scratch. It's not outlined that JDK 11 and Rust is required on the system.
2023-04-25 13:48:32 -04:00
thunderbiscuit
871a06d1ce Add library build task to Android test CI workflow 2023-04-24 14:17:58 -04:00
thunderbiscuit
b820d6a2ba Remove support for Python 3.6 and 3.7 2023-04-24 13:57:12 -04:00
thunderbiscuit
79d9fa2909 Use ubuntu-20.04 image for all Linux CI runs 2023-04-24 13:53:56 -04:00
thunderbiscuit
a0e0467d39 Add workflow dispatch to all test workflows 2023-04-24 13:52:42 -04:00
thunderbiscuit
f2296704e6 Pin Rust version in CI workflows to 1.67 2023-04-24 13:51:37 -04:00
thunderbiscuit
b8b60dda87 Prepare language bindings libraries for 0.28 release 2023-04-17 14:34:03 -04:00
Steve Myers
a50e19e7e0 Update bdk to 0.28 2023-04-13 10:22:53 -04:00
Steve Myers
fab9ae8ae5 Add PartiallySignedTransaction.json_serialize() function 2023-04-13 09:21:22 -04:00
thunderbiscuit
478b12c489 Add API docs for fromScript method on Address 2023-04-13 08:50:08 -04:00
andreasgriffin
63b85b9100 Add from_script method to Address type 2023-04-13 08:50:03 -04:00
Steve Myers
0e6b472793 Merge bitcoindevkit/bdk-ffi#335: Use version 21 of the Android NDK in the CI test, build, and publish workflows
beb75dd552 Use version 21 of the Android NDK in the CI test, build, and publish workflows (thunderbiscuit)

Pull request description:

  This PR reverts an update to our Android CI workflows.

  For info on why this is needed, see issues #242 and #243.

ACKs for top commit:
  notmandatory:
    ACK beb75dd552

Tree-SHA512: dfee0b1f335318b86fa490fa85e7ef5d7a032e01a78db64a186c5d75e9e77e8f0e2af58ee5407d4fe38a0aa3aabbc7b06b23189aef0dfaad1d246a354452870d
2023-04-12 21:38:07 -05:00
thunderbiscuit
beb75dd552 Use version 21 of the Android NDK in the CI test, build, and publish workflows 2023-04-05 11:10:21 -04:00
thunderbiscuit
5ee8698e0a Add Kotlin API docs for new AddressInfo type 2023-03-28 19:51:15 -04:00
thunderbiscuit
ac600a1312 Clean up type aliases and use more explicit variable names 2023-03-28 19:47:38 -04:00
thunderbiscuit
f26031db80 Update tests for new AddressInfo type 2023-03-28 15:05:42 -04:00
thunderbiscuit
e7e1a6057e Use Address type in address field on AddressInfo 2023-03-28 13:29:06 -04:00
thunderbiscuit
2b7c104f11 Clean up of docs regarding removed cli tool 2023-03-27 13:39:28 -04:00
thunderbiscuit
6bab5a159d Remove bdk-ffi-bindgen tool section in root readme 2023-03-24 12:56:06 -04:00
thunderbiscuit
b6c8b145bb Fix bdk-android publishing CI workflow v0.28.0-rc.0 2023-03-24 12:38:32 -04:00
Steve Myers
67610abeb6 Merge bitcoindevkit/bdk-ffi#326: Add SignOptions to Wallet.sign() params
4e5537acd2 Add SignOptions to Wallet.sign() params (Steve Myers)

Pull request description:

  ### Description

  Fixes #323

  ### Notes to the reviewers

  I didn't include the `tap_leaves_options: TapLeavesOptions` because it would require more deeply nested structures and is not currently required.

  ### Changelog notice

  - Add SignOptions to Wallet.sign() params.

  ### 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

Top commit has no ACKs.

Tree-SHA512: e846388b93b5270dd6d1f86ebff462d1c69aa0ea8359d7e4955c88eed4dac1ce00f8da3ecf2432e6eba6e1e5b2f52e3e789918aa31a4b739a7d0a5185b5c3c0c
2023-03-24 11:12:23 -05:00
Steve Myers
4e5537acd2 Add SignOptions to Wallet.sign() params 2023-03-24 10:51:44 -05:00
Steve Myers
6be4ddaf7b Merge bitcoindevkit/bdk-ffi#325: Expose Address payload and network properties
cd10c75e96 Add to_qr_uri() method on Address type (thunderbiscuit)
cbd44249f3 Add kotlin api-docs for Address.payload() and Address.network() (Steve Myers)
20c31d5383 Expose Address payload and network properties (Steve Myers)
616cb21738 Update Cargo.lock (Steve Myers)

Pull request description:

  ### Description

  Fixes #319

  ### Notes to the reviewers

  The test data was generated with:
  ```
  bitcoin-cli -rpcwallet="regtest2" -datadir=/tmp/regtest1/bitcoind -regtest validateaddress "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv"
  {
    "isvalid": true,
    "address": "bcrt1qqjn9gky9mkrm3c28e5e87t5akd3twg6xezp0tv",
    "scriptPubKey": "001404a6545885dd87b8e147cd327f2e9db362b72346",
    "isscript": false,
    "iswitness": true,
    "witness_version": 0,
    "witness_program": "04a6545885dd87b8e147cd327f2e9db362b72346"
  }
  ```

  ### Changelog notice

  Added
  - Expose Address payload and network properties.

  ### 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 cd10c75e96.

Tree-SHA512: 65a1d550577fd4a35cfeb8fb765002e47e0703ff40fc7a68c07b78bc1ba642d33a0efbdfa8f9322024841ba84d25c0e289294c10ae4c1b4d52eb9beffa3d0e10
2023-03-23 16:39:00 -05:00
thunderbiscuit
cd10c75e96 Add to_qr_uri() method on Address type 2023-03-23 17:03:40 -04:00
Steve Myers
cbd44249f3 Add kotlin api-docs for Address.payload() and Address.network() 2023-03-23 15:41:17 -05:00
Steve Myers
20c31d5383 Expose Address payload and network properties 2023-03-23 15:41:17 -05:00
Steve Myers
616cb21738 Update Cargo.lock 2023-03-23 15:41:17 -05:00
Steve Myers
d3a6453eda Merge bitcoindevkit/bdk-ffi#307: Expose more of the Transaction type
cba69e681a Clean up of From traits implementations (thunderbiscuit)
35d8fb3139 Clean up extract_tx method on PSBT (thunderbiscuit)
f003a6275e Clean up conversion between BDK TransactionDetails to ffi TransactionDetails (thunderbiscuit)
2f62377eec Add Eq and PartialEq traits on the Transaction type (thunderbiscuit)
81e208222a Add uniffi/cli as default feature to cargo (thunderbiscuit)
3dc6596aa2 Add include_raw boolean parameter on wallet list_transactions method (thunderbiscuit)
2342265c26 Remove unused NetworkLocalUtxo type (thunderbiscuit)
6c561228c2 Use the latest version of the Android NDK (thunderbiscuit)
e86909ab3d Clean up input and output methods on Transaction type (thunderbiscuit)
8e51756a3a Fix clippy errors (thunderbiscuit)
40263b425e Remove deprecated bdk-ffi-bindgen tool (thunderbiscuit)
9437051668 Fix fmt and clippy errors (thunderbiscuit)
7557e214c8 Add optional transaction field on the TransactionDetails type (thunderbiscuit)
40ca62086c Expose all fields on the Transaction type (thunderbiscuit)
e0506deffa Add new utility methods on Transaction type (thunderbiscuit)
d3e183a498 Add Kotlin API docs for new Transaction methods (thunderbiscuit)
1e9ecfbe52 Add weight, size, and vsize methods on the Transaction type (thunderbiscuit)

Pull request description:

  ## Description
  We've recently exposed the `Transaction` type, and I think a few methods on it would be useful. ~This is a draft PR with the first 3: `weight()`, `size()`, and `vsize()`~ _Edit: it's now much more_. I think there might be other methods we might want to expose as well. [Take a look at the docs to see them all](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html).

  Other candidates have now been added:
  1. [is_explicitly_rbf](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_explicitly_rbf)
  2. [is_lock_time_enabled](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_lock_time_enabled)
  3. [is_absolute_timelock_satisfied](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_absolute_timelock_satisfied)
  4. [is_coin_base](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.is_coin_base)
  5. [txid](https://docs.rs/bitcoin/0.29.2/bitcoin/blockdata/transaction/struct.Transaction.html#method.txid)

  This PR is growing in size but I decided to add all 4 fields on the `Transaction` type. This is useful because it means we can now add the `transaction` field on the `TransactionDetails` type (also added in this PR).

  I still have a few questions regarding all the translation between the ffi and bdk/rust types, some of the traits I had to remove (Eq and PartialEq on the TransactionDetails type) as well as the usage of `Option<Arc<T>>` vs `Arc<Option<T>>`. Will outline those tomorrow.

  Closes #303
  Closes #187

  ## Changelog notice
  ```md
  APIs Added
  - `Transaction` type now exposes the `.weight()`, `.size()`, `.vsize()`, `is_explicitly_rbf()`, `is_lock_time_enabled()`, `is_coin_base(), and `txid()` methods [#307]

  [#307]: https://github.com/bitcoindevkit/bdk-ffi/pull/307
  ```

  ## 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

ACKs for top commit:
  notmandatory:
    ACK cba69e681a

Tree-SHA512: 83e860407b230b6cdca59c0d74a486e52e7ea34d655d418ddc115418551a61665cad8f1d6182858d8ed6d7d72a8558e595e61644efed6c704de8a0b6960a0df2
2023-03-23 15:40:19 -05:00
thunderbiscuit
cba69e681a Clean up of From traits implementations 2023-03-23 15:16:53 -04:00
thunderbiscuit
35d8fb3139 Clean up extract_tx method on PSBT 2023-03-23 13:14:48 -04:00
thunderbiscuit
f003a6275e Clean up conversion between BDK TransactionDetails to ffi TransactionDetails 2023-03-23 13:08:55 -04:00
thunderbiscuit
2f62377eec Add Eq and PartialEq traits on the Transaction type 2023-03-23 12:48:04 -04:00
thunderbiscuit
81e208222a Add uniffi/cli as default feature to cargo 2023-03-23 12:39:22 -04:00
thunderbiscuit
3dc6596aa2 Add include_raw boolean parameter on wallet list_transactions method 2023-03-23 12:32:54 -04:00
thunderbiscuit
2342265c26 Remove unused NetworkLocalUtxo type 2023-03-23 12:21:18 -04:00
thunderbiscuit
6c561228c2 Use the latest version of the Android NDK 2023-03-21 17:01:54 -04:00
thunderbiscuit
e86909ab3d Clean up input and output methods on Transaction type 2023-03-20 15:16:39 -04:00