Commit Graph

1121 Commits

Author SHA1 Message Date
Steve Myers
beca56ba3c Add publish-spm github actions workflow 2022-10-29 17:43:14 -05:00
Steve Myers
036e790a75 Merge bitcoindevkit/bdk-ffi#215: Add simple kotlin, swift and python integration tests
ee6ee8139a Add simple kotlin,swift, and python integration tests (Steve Myers)

Pull request description:

  ### Description

  Add simple kotlin, swift and python integration tests. These tests confirm fixes in #216 and #214.

  ### Notes to the reviewers

  To skip integration tests use:

  `cargo test --lib`.

  Otherwise java, kotlin, swift, and python need to be installed, and you must run tests with:

  `CLASSPATH=./tests/jna/jna-5.8.0.jar cargo test`

  ### Changelog notice

  - Integration tests added, see tests/README.md for updated instructions for running tests. #215

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

  #### Bugfixes:

  * [x] I've added tests to reproduce the issue which are now passing

ACKs for top commit:
  thunderbiscuit:
    ACK [ee6ee81](ee6ee8139a).
  waterst0ne:
    > ACK [ee6ee81](ee6ee8139a).

Tree-SHA512: 06ab14da1185de431c16b767f187bc8e7792106df54314242b26f225e3a8ddada28317b7cb8bec47b8b248d3088d0305ab777770525540c72d2815349a73728b
2022-10-27 13:38:29 -05:00
thunderbiscuit
5991b07385 Add group and version properties for nexus publishing plugin 2022-10-24 13:06:29 -04:00
Steve Myers
7ba5f3757d Updated bdk-ffi to v0.10.0 (bdk 0.23) 2022-10-21 17:18:30 -05:00
Steve Myers
ee6ee8139a Add simple kotlin,swift, and python integration tests 2022-10-21 15:14:15 -05:00
thunderbiscuit
f820b4fd6f Bump uniffi-rs dependency to 0.21.0 through latest bdk-ffi tag
Signed-off-by: thunderbiscuit <thunderbiscuit@protonmail.com>
2022-10-21 15:02:46 -04:00
Steve Myers
3bec5d2cab Merge bitcoindevkit/bdk-ffi#216: Update uniffi dependencies to 0.21.0
b9aa0a2cf1 Update uniffi dependencies to 0.21.0 (Steve Myers)

Pull request description:

  ### Description

  Update uniffi dependencies to 0.21.0

  ### Notes to the reviewers

  This is required to pickup my PR to handle swift keywords. https://github.com/mozilla/uniffi-rs/compare/v0.20.0...v0.21.0

  ### Changelog notice

  Update uniffi-rs to latest version 0.20.0 #216

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

ACKs for top commit:
  thunderbiscuit:
    ACK [b9aa0a2](b9aa0a2cf1).

Tree-SHA512: 8bd585a22e6df2186d3985cc4d41a86dc35644b1e8dc06c1153de04a85df2cb6b345e15c0eb26e1b87c41cb00f15acf29f1b6a5b23736ead397fa6ee0fe0af0e
2022-10-21 13:26:36 -05:00
Steve Myers
b9aa0a2cf1 Update uniffi dependencies to 0.21.0 2022-10-21 13:18:38 -05:00
thunderbiscuit
65f2c0fcf1 Bump bdk-ffi submodule to v0.10.0 tag 2022-10-21 12:30:33 -04:00
thunderbiscuit
c7d0803000 Fix use of Error as name for error enum in UDL 2022-10-21 09:30:28 -04:00
Steve Myers
1a4b9b440d Bump version to 0.10.0 2022-10-19 12:47:16 -05:00
Steve Myers
1f914c2b4d Merge bitcoindevkit/bdk-ffi#209: Change TxBuilder.finish() to return new TxBuilderResult
fadb316451 Change TxBuilder.finish() to return new TxBuilderResult (Steve Myers)

Pull request description:

  ### Description

  Change TxBuilder.finish() to return new TxBuilderResult.

  ### Notes to the reviewers

  This fixes #179 in that it return both PartiallySignedBitcoinTransaction and TransactionDetails encapsulated in a new TxBuilderResult structure. It does not calculate the fee rate which requires #208.

  ### Changelog notice

  - Breaking Changes
    - Changed `TxBuilder.finish()` to return new `TxBuilderResult`.
  - APIs Added
    - Added `TxBuilderResult` with PSBT and TransactionDetails.

  ### 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 [fadb316](fadb316451).

Tree-SHA512: b8aafc53ba86bf7ab12ae3d5bb251d1ec5cb54e4b7d6bfc342155d5cd3726d9a6d114591dc740a7467afb8ef402f3d77ad51e273a27865d6e47192291b570af9
2022-10-19 12:30:06 -05:00
Steve Myers
fadb316451 Change TxBuilder.finish() to return new TxBuilderResult 2022-10-19 12:27:00 -05:00
thunderbiscuit
3fefd3c1fb Allow TxBuilder.add_recipient() to take Script 2022-10-17 17:42:36 -04:00
thunderbiscuit
2cbb314d0b Remove BdkError type alias 2022-10-17 16:43:37 -04:00
thunderbiscuit
535fc70433 Upgrade bdk dependency to v0.23 2022-10-17 16:19:35 -04:00
thunderbiscuit
10fa276bec Update uniffi-rs to 0.20.0 2022-10-17 16:03:27 -04:00
thunderbiscuit
e5e38d7f77 Fix missing comma in API docs for TransactionDetails 2022-10-05 10:26:57 -04:00
thunderbiscuit
20134bb96a Add option to build API docs into bdk-jvm website 2022-10-05 10:10:16 -04:00
thunderbiscuit
1cc9afaeb3 Rename DescriptorSecretKey.secret_bytes() to mirror upstream API 2022-10-03 14:54:01 -04:00
thunderbiscuit
6f5e621561 Remove changelog entry to follow workflow defined in #202 2022-10-03 14:54:00 -04:00
thunderbiscuit
1dd6f2d9f8 Add test for DescriptorSecretKey.secret_key_bytes() 2022-10-03 14:53:58 -04:00
thunderbiscuit
f92b45db6a Add ability to retrieve private keys as bytes
This feature is needed for compatibility with LDKLite, where the
initial entropy given to LDK is the private key of the root of
the BIP32 derivation tree.

Closes #188
2022-10-03 14:53:25 -04:00
thunderbiscuit
3a0fe79dd8 Add bindings PGP public key and documentation on how to verify signatures 2022-10-03 14:46:11 -04:00
thunderbiscuit
6598df9ed9 Add bindings PGP public key and documentation on how to verify signatures 2022-10-03 14:45:57 -04:00
thunderbiscuit
c971d54aea Fix warnings 2022-09-30 19:37:19 -04:00
thunderbiscuit
2abccafb8f Add combine() method on PSBT
Closes #198
2022-09-30 19:37:12 -04:00
Steve Myers
75d0415bec Add release templates and dev cycle docs, update changelog process 2022-09-29 11:18:27 -05:00
thunderbiscuit
4ff428a9a6 Update simple example in setup.py 2022-09-22 11:18:35 -04:00
thunderbiscuit
d539d8eaf8 Update tests for bdk-ffi v0.9.0 2022-09-22 11:02:41 -04:00
thunderbiscuit
96889b43a8 Add documentation on local testing 2022-09-22 11:02:05 -04:00
thunderbiscuit
02a572cbc6 Remove changelog
This is in line with the bdk-jvm, bdk-android, and bdk-swift libraries, who all rely on the bdk-ffi changelog.
2022-09-22 10:25:33 -04:00
thunderbiscuit
3f35a18d41 Add API docs samples for Network, BlockchainConfig, and Blockchain 2022-09-22 09:56:41 -04:00
thunderbiscuit
b9c283c89b Add samples for AddressIndex and AddressInfo 2022-09-22 09:40:39 -04:00
thunderbiscuit
3e96aad10e Use idiomatic Kotlin/Java documentation and KDoc structure 2022-09-21 09:12:50 -04:00
thunderbiscuit
a671c4f86b Move samples into tests 2022-09-21 08:01:12 -04:00
thunderbiscuit
157b1875c5 Remove unused docs patch 2022-09-21 08:01:11 -04:00
thunderbiscuit
af89ebaeea Update API docs to v0.9.0 2022-09-21 08:01:08 -04:00
thunderbiscuit
4259f260a9 Add samples for BlockchainConfig 2022-09-21 08:00:17 -04:00
thunderbiscuit
4d973e7ab6 Add temporary API docs 2022-09-21 08:00:10 -04:00
thunderbiscuit
d603932e23 Update publishing CI workflow 2022-09-20 19:43:27 -04:00
thunderbiscuit
db64f372f2 Split libraries into independent Gradle projects 2022-09-20 19:43:17 -04:00
thunderbiscuit
810e22dc9c Bump bdk-ffi submodule to v0.9.0 tag 2022-09-20 08:09:36 -04:00
thunderbiscuit
a3cbc4477f Bump SNAPSHOT version to 0.10.0-SNAPSHOT 2022-09-09 12:41:41 -04:00
thunderbiscuit
6b993b22db Merge pull request #89 from thunderbiscuit/bump-version-0.9.0
Bump version 0.9.0
2022-09-09 12:04:04 -04:00
thunderbiscuit
b8f9d199a8 Simplify tests 2022-09-08 18:21:04 -04:00
thunderbiscuit
b5ff0a7914 Bump bdk-ffi submodule version to 0.9.0 2022-09-08 16:07:41 -04:00
thunderbiscuit
485f4f72ce Bump version to 0.9.0 v0.9.0 2022-09-08 15:18:48 -04:00
thunderbiscuit
37dddd05f6 Update changelog for 0.9.0 release 2022-09-08 15:17:35 -04:00
Steve Myers
dfb350e206 Merge bitcoindevkit/bdk-ffi#193: Update bdk dependency to 0.22
3c6075ad96 Add Balance struct and conversion from BdkBalance (thunderbiscuit)
4e15badb14 Update BDK to version 0.22 (thunderbiscuit)

Pull request description:

  The bindings do not build when attempting this upgrade because `get_balance()` now returns a `Balance` struct (this was merged in bitcoindevkit/bdk#640)

  ```sh
  error[E0308]: mismatched types
     --> src/lib.rs:433:9
      |
  432 |     fn get_balance(&self) -> Result<u64, Error> {
      |                              ------------------ expected `Result<u64, bdk::Error>` because of return type
  433 |         self.get_wallet().get_balance()
      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found struct `Balance`
      |
      = note: expected enum `Result<u64, _>`
                 found enum `Result<Balance, _>`

  For more information about this error, try `rustc --explain E0308`.
  error: could not compile `bdk-ffi` due to previous error
  ```

  When we upgrade to `0.22.0` we could decide to add the `Balance` struct to the bindings, or simply return the total by calling `get_total()`, which returns a `u64` (same as we have now).

ACKs for top commit:
  notmandatory:
    ACK 3c6075ad96

Tree-SHA512: 13d2f83f992735f4f9619ae339d7834df08385129edf06bac830c298b433571af3f211e92a6da1f4f9646dec27dbd2c6133a035f26eac8757b7a1c94b54b463d
2022-09-08 13:58:27 -05:00