1107 Commits

Author SHA1 Message Date
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
beb75dd5524c0f16f0715d979b685c56ba95c15d 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 beb75dd5524c0f16f0715d979b685c56ba95c15d

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
4e5537acd27808c631f51480581b4ff4e4927924 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
cd10c75e965584160235db8abb79540d55ce9c80 Add to_qr_uri() method on Address type (thunderbiscuit)
cbd44249f31dd5d92a7e5087f6bc5f2de99163b6 Add kotlin api-docs for Address.payload() and Address.network() (Steve Myers)
20c31d53838ad956c72f4f442654d894ee8d68e1 Expose Address payload and network properties (Steve Myers)
616cb21738d5c3c60743bf27cae3c27944ecd979 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 cd10c75e965584160235db8abb79540d55ce9c80.

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
cba69e681a2116c98895d021723617f71db1d0ca Clean up of From traits implementations (thunderbiscuit)
35d8fb3139e1de645e0299c27762f2fb938a99f6 Clean up extract_tx method on PSBT (thunderbiscuit)
f003a6275ec8b00d0bb3276722c6c6a260056aa4 Clean up conversion between BDK TransactionDetails to ffi TransactionDetails (thunderbiscuit)
2f62377eec547e0654899a19771ba44add7066ae Add Eq and PartialEq traits on the Transaction type (thunderbiscuit)
81e208222ad954f4df0402cad3276556a8dd676d Add uniffi/cli as default feature to cargo (thunderbiscuit)
3dc6596aa250430940c6946ce4b0b3146e717184 Add include_raw boolean parameter on wallet list_transactions method (thunderbiscuit)
2342265c26a158c38fa04bd837daefdd6a269f5f Remove unused NetworkLocalUtxo type (thunderbiscuit)
6c561228c2873398729c9f4dce49cd6f33ba4c9f Use the latest version of the Android NDK (thunderbiscuit)
e86909ab3d24ec5bd8aba983d792f7d191312885 Clean up input and output methods on Transaction type (thunderbiscuit)
8e51756a3ae770d0e271c39839765c9c8a2de733 Fix clippy errors (thunderbiscuit)
40263b425e49d979216a42ab78a42e8522ba1088 Remove deprecated bdk-ffi-bindgen tool (thunderbiscuit)
9437051668609a9809651e8fd7982510ef873148 Fix fmt and clippy errors (thunderbiscuit)
7557e214c86bd6ea96a224aae78d957746d9645e Add optional transaction field on the TransactionDetails type (thunderbiscuit)
40ca62086c3a15a014303659ea4d3f3794a0a088 Expose all fields on the Transaction type (thunderbiscuit)
e0506deffa155ed2bd9794e904bd10e42a523578 Add new utility methods on Transaction type (thunderbiscuit)
d3e183a498dcf0764544adeb0c8d2232b0f00df0 Add Kotlin API docs for new Transaction methods (thunderbiscuit)
1e9ecfbe52a254c0ac529d34fc3c84aefa43740c 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 cba69e681a2116c98895d021723617f71db1d0ca

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
thunderbiscuit
8e51756a3a
Fix clippy errors 2023-03-14 08:22:05 -04:00
thunderbiscuit
40263b425e
Remove deprecated bdk-ffi-bindgen tool 2023-03-13 15:04:48 -04:00
thunderbiscuit
9437051668
Fix fmt and clippy errors 2023-03-13 14:52:17 -04:00
thunderbiscuit
7557e214c8
Add optional transaction field on the TransactionDetails type 2023-03-13 14:49:07 -04:00
thunderbiscuit
40ca62086c
Expose all fields on the Transaction type 2023-03-13 12:13:09 -04:00
thunderbiscuit
e0506deffa
Add new utility methods on Transaction type
This PR adds the txid(), is_coin_base(), is_explicitly_rbf(),
and is_lock_time_enabled() methods.
Fixes #303
2023-03-13 08:54:37 -04:00
thunderbiscuit
d3e183a498
Add Kotlin API docs for new Transaction methods 2023-03-13 08:54:31 -04:00
thunderbiscuit
1e9ecfbe52
Add weight, size, and vsize methods on the Transaction type 2023-03-13 08:54:25 -04:00
thunderbiscuit
d48bacd29b
Streamline CI workflows 2023-03-10 21:03:24 -05:00
thunderbiscuit
c1243f9e1c
Update publish Python CI workflow 2023-03-01 13:43:24 -05:00
thunderbiscuit
9c6069e389
Run tests in Python CI workflow 2023-03-01 11:37:08 -05:00
thunderbiscuit
488edf8bd2
Fix Python build workflow to account for Linux/Windows 2023-03-01 10:02:45 -05:00
thunderbiscuit
90763d42a2
Fix Swift script and CI workflow 2023-02-28 12:42:54 -05:00
thunderbiscuit
44b2ef1382
Fix cargo test workflow 2023-02-28 12:04:43 -05:00
thunderbiscuit
25617d1f23
Fix cargo clippy CI workflow 2023-02-28 09:27:56 -05:00
thunderbiscuit
2fcafe2b80
Fix Rust CI workflow 2023-02-28 08:31:51 -05:00
thunderbiscuit
5728b50100
Fix formatting warning in Gradle plugins 2023-02-27 20:07:02 -05:00
thunderbiscuit
d08317775b
Update Python build scripts for uniffi-rs 0.23.0 2023-02-27 20:04:32 -05:00
thunderbiscuit
c93f292b0e
Upgrade uniffi-rs to 0.23.0 and migrate Gradle plugins 2023-02-27 14:43:52 -05:00
thunderbiscuit
a75c868eb2
Update minor_release and patch_release templates 2023-02-22 14:27:03 -05:00
thunderbiscuit
974ff66caf
Bump snapshot and dev versions of libraries 2023-02-21 15:45:46 -05:00