1107 Commits

Author SHA1 Message Date
thunderbiscuit
e6708d4c5b
Move bdk-jvm and bdk-android out of subdirectory after ffi merge 2022-11-14 09:58:10 -05:00
thunderbiscuit
af77b9b9b1
Merge remote-tracking branch 'kotlinrepo/master' into ffi-merge 2022-11-14 09:45:49 -05:00
thunderbiscuit
0c1a9d7f1d
Move all bdk-kotlin into subdirectory to prepare for ffi merge
Signed-off-by: thunderbiscuit <thunderbiscuit@protonmail.com>
2022-11-14 08:56:17 -05:00
Steve Myers
4f544e465b
Use update ci workflows to use defaults.run.working-directory 2022-11-11 17:13:22 -06:00
thunderbiscuit
64c496f815
Run CI workflows only when relevant files are modified 2022-11-11 15:17:28 -05:00
thunderbiscuit
8bb8c00a6b
Remove bdk-ffi submodule from bdk-python 2022-11-10 16:27:48 -05:00
thunderbiscuit
26ef0d4a34
Remove .github directory in bdk-python 2022-11-10 16:09:29 -05:00
thunderbiscuit
8240d8dc99
Add simplified Python CI workflow 2022-11-10 15:58:23 -05:00
thunderbiscuit
da4c792046
Fix CI paths 2022-11-10 13:34:43 -05:00
thunderbiscuit
b06528d10c
Move bdk-ffi source code in subdirectory 2022-11-10 13:27:00 -05:00
thunderbiscuit
662270364b
Merge remote-tracking branch 'python/master' into python-ffi-merge 2022-11-10 13:23:32 -05:00
thunderbiscuit
413ca8bdeb
Move all content in bdk-python subdirectory 2022-11-10 12:57:38 -05:00
thunderbiscuit
2a97218991
Bump library development version to 0.6.0.dev0 2022-11-09 15:26:51 -05:00
thunderbiscuit
ec7b3769b5
Bump bdk-ffi submodule to v0.11.0 (bdk version 0.24.0)
Signed-off-by: thunderbiscuit <thunderbiscuit@protonmail.com>
2022-11-09 12:52:15 -05:00
thunderbiscuit
f07473e1ca
Bump versions to 0.12.0-SNAPSHOT 2022-11-08 15:03:20 -05:00
thunderbiscuit
3be23ad7f9
Update API docs to version 0.11.0 2022-11-08 14:19:37 -05:00
thunderbiscuit
ffd85e6bd1
Use release-smaller profile for bdk-ffi in Gradle plugins 2022-11-08 12:24:49 -05:00
Steve Myers
073c89db4b
Fix publish-spm workflow with release-smaller profile 2022-11-08 11:07:27 -06:00
thunderbiscuit
04aae0486a
Bump bdk-ffi submodule to v0.11.0 2022-11-08 11:50:54 -05:00
thunderbiscuit
929147f182
Bump versions to 0.11.0-SNAPSHOT 2022-11-08 11:17:23 -05:00
Steve Myers
eb9241d315
Update bdk-ffi to 0.11.0 2022-11-08 09:55:25 -06:00
thunderbiscuit
0648075555
Bump version to 0.11.0 v0.11.0 2022-11-08 10:11:38 -05:00
thunderbiscuit
3f81346e6b
Refactor from_str() method on the Mnemonic struct to from_string() 2022-11-08 09:54:50 -05:00
Steve Myers
a25fb1348d
Merge bitcoindevkit/bdk-ffi#208: Add FeeRate struct and PSBT fee_amount and fee_rate functions
ae1ea99ed3f26f33ead92d4a91588ae32d9e110b Add FeeRate struct and fee_amount() and fee_rate() functions on PartiallySignedTransaction (Steve Myers)
9a381f6d32321f2a726092bd2b54ab10d105e9c6 Rename PartiallySignedBitcoinTransaction to PartiallySignedTransaction (Steve Myers)

Pull request description:

  <!-- You can erase any parts of this template not applicable to your Pull Request. -->

  ### Description

  Add FeeRate struct and fee_amount() and fee_rate() functions on PartiallySignedTransaction.

  ### Notes to the reviewers

  This PR is dependent on https://github.com/bitcoindevkit/bdk/pull/782.

  ### Changelog notice

  - Breaking Changes
    - Renamed PartiallySignedBitcoinTransaction to PartiallySignedTransaction to be consistent with `rust-bitcoin`
  - APIs Added
    - Add FeeRate struct
    - Add fee_amount() and fee_rate() functions on PartiallySignedTransaction

  ### 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:
    Re-ACK [ae1ea99](ae1ea99ed3).

Tree-SHA512: 2c3f792e9ef092cd3ba233601122f4960c496d132caad54ef2f7f41d7113dd16600a863bb8fd78d2e5b978adebdb7ddd9529c21b3d46cd0b16e0db4eb90de01d
2022-11-07 14:15:35 -06:00
Steve Myers
ae1ea99ed3
Add FeeRate struct and fee_amount() and fee_rate() functions on PartiallySignedTransaction 2022-11-07 11:55:36 -06:00
Steve Myers
9a381f6d32
Rename PartiallySignedBitcoinTransaction to PartiallySignedTransaction 2022-11-07 11:55:36 -06:00
Steve Myers
3a07b4838a
Merge bitcoindevkit/bdk-ffi#221: Bump bdk version to 0.24.0
29de6f2d060461da34333ea8b52aeaf531434ca2 Bump bdk version to 0.24.0 (thunderbiscuit)

Pull request description:

  ## Description
  This PR updates BDK to the latest version, `0.24.0`.

  ### Notes to the reviewers
  This PR is currently open only for CI testing and review. Only merge once bdk 0.24.0 is out and the PR has been updated.

  ### Changelog notice
  ```txt
  - Update BDK to latest version 0.24.0 [#221]

  [#221](https://github.com/bitcoindevkit/bdk-ffi/pull/221)
  ```

  #### 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:
  notmandatory:
    ACK 29de6f2d060461da34333ea8b52aeaf531434ca2

Tree-SHA512: 256eb4387728467704f732ce1151de9569b6121916bb1d814bb48c75faf20026846e6170a384ca7e5e9ac3652bd9dfe5511e019f13c972ae755f0b37f9db8b83
2022-11-07 11:47:45 -06:00
thunderbiscuit
29de6f2d06
Bump bdk version to 0.24.0 2022-11-07 12:33:00 -05:00
Steve Myers
73ba73fd03
Merge bitcoindevkit/bdk-ffi#219: Added Mnemonic Interface
9866649fdc5ffe0203f5a76082d789a22e5214bf Added Mnemonic Interface (dhruvbaliyan)

Pull request description:

  ### Description
  This PR adds `interface Mnemonic` which will make the API to generate new DescriptorSecretKey have type-safe arguments.

  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->

  ### Notes to the reviewers

  This PR doesn't have any issue linked to it, as it was discusses on a call during the implementation of `DescriptorSecretKey` (PR #154). It was discussed to make `Mnemonic` an interface and use that instead of string `Mnemonic` so that the API to generate `DescriptorSecretKey` doesn't have any potential failure (like in case it's provided with incorrect Mnemonic words).

  APIs added
  ```
  // generates and returns Mnemonic with random entropy
  Mnemonic::new(word_count: WordCount) -> Self { ... }
  // converts string Mnemonic to Mnemonic type with error (in case of incorrect string Mnemonic)
  Mnemonic::from_str(mnemonic: String) -> Result<Self, BdkError> { ... }
  // generates and returns Mnemonic with given entropy
  Mnemonic::from_entropy(entropy: Vec<u8>) -> Result<Self, BdkError> {...}
  // view mnemonic as string
  Mnemonic::as_string(&self) -> String { ... }
  ```
  Along with some changes to `DescriptorSecretKey::new()` to fit these new APIs

  ### Changelog notice
  ```
  - Added Struct Mnemonic with following methods [#219]
    - new(word_count: WordCount) generates and returns Mnemonic with random entropy
    - from_str(mnemonic: String) converts string Mnemonic to Mnemonic type with error
    - from_entropy(entropy: Vec<u8>) generates and returns Mnemonic with given entropy
    - as_string() view Mnemonic as string
  - API removed [#219]
    - generate_mnemonic(word_count: WordCount)

  [#219](https://github.com/bitcoindevkit/bdk-ffi/pull/219)
  ```
  ### 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 docs for the new feature

  #### Bugfixes:

  * [x] This pull request breaks the existing API
      * Top level function `generate_mnemonic(...)` was removed

ACKs for top commit:
  thunderbiscuit:
    ACK 9866649fdc5ffe0203f5a76082d789a22e5214bf.
  notmandatory:
    ACK 9866649fdc5ffe0203f5a76082d789a22e5214bf

Tree-SHA512: 45f9158beb6fe7bfe2a901c3f17126db855fe0b4b479ecb2a16381e06a415eed295fe6be3c840bd1d1fc8cffaf58bd97dc27bdc1e82699367a827d700e8fd09b
2022-11-07 11:27:41 -06:00
thunderbiscuit
82126ece78
Add publishing CI workflow 2022-11-03 15:22:25 -04:00
dhruvbaliyan
9866649fdc
Added Mnemonic Interface 2022-11-03 22:33:38 +05:30
thunderbiscuit
4ff3f71cb8
Bump bdk-ffi submodule to v0.10.0 (bdk version 0.23.0) 2022-11-03 11:32:32 -04:00
Steve Myers
4abda332de
Use the release-smaller profile in publish-spm workflow 2022-11-01 19:03:16 -05:00
Steve Myers
c2aecb0597
Merge bitcoindevkit/bdk-ffi#220: Add build profile 'release-smaller'
ba71a7a27c06c4db094b1ce01d0e2f846b0f8def Add build profile 'release-smaller' (Steve Myers)

Pull request description:

  ### Description

  New profile turns on all the non-experimental rust build size optimizations.

  ### Notes to the reviewers

  This PR is the first step to fixing bitcoindevkit/bdk-swift#25.

  ### Changelog notice

  None.

  ### 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 [ba71a7a](ba71a7a27c).

Tree-SHA512: b12cf3a3ad3683dccbb89f611e98246db4a604b674077a45b78e30e9e20021f443dfec68e8ab511e0bb64d84c5c7064b4078b578fc3b4c1fb2e1119680a656a6
2022-11-01 18:57:52 -05:00
Steve Myers
ba71a7a27c
Add build profile 'release-smaller' 2022-10-29 22:02:59 -05:00
Steve Myers
c8436f519c
Update README publishing steps 2022-10-29 19:58:33 -05:00
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
ee6ee8139afd74c858216ed99ffdec92dc101787 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
b9aa0a2cf16c3f8fb037d01015d9eccfee82e9e3 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
fadb316451af080bf22774a164278cef04acd9cc 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