295 Commits

Author SHA1 Message Date
dhruvbaliyan
930a1f1eb4
Added generate_mnemonic method 2022-08-18 04:24:02 +05:30
dhruvbaliyan
973013cbdf
Removed ExtendedKeyInfo & related methods 2022-08-18 04:24:01 +05:30
thunderbiscuit
d38737669d
Fix bdk-python link in readme (#182) 2022-08-17 17:20:20 -04:00
thunderbiscuit
6896097eb7
Release/0.8 (#177)
* Update changelog to reflect 0.8.0 additions

* Bump version to 0.8.0
2022-07-29 14:08:23 -04:00
Steve Myers
7d95433c28
Merge bitcoindevkit/bdk-ffi#175: Set project MSRV to 1.57.0
6d53cbeb2502602d1bab0fd11f63d203f61b507a Fix fmt error (Steve Myers)
1a12f37a2f1c5f99e3b590b3ba070859120a9f8e Set MSRV to 1.57.0 (Steve Myers)

Pull request description:

  ### Description

  The `master` branch is currently not passing the new github checks.

  A required dependency of `bdk-ffi-bindgen` is `uniffi_bindgen` and it depends on `os_str_bytes` v6.2.0 which has a MSRV of 1.57.0. I therefore had to make the MSRV of `bdk-ffi` also 1.57.0 and update the github actions. This PR also fixes a small `cargo fmt` warning.

  ### Notes to the reviewers

  ```shell
  % cargo +1.56.1 build
  error: package `os_str_bytes v6.2.0` cannot be built because it requires rustc 1.57.0 or newer, while the currently active rustc version is 1.56.1
  ```

  ```shell
  % cargo tree -i os_str_bytes
  os_str_bytes v6.2.0
  └── clap_lex v0.2.4
      └── clap v3.1.18
          └── uniffi_bindgen v0.19.3
              └── bdk-ffi-bindgen v0.2.0 (/Users/steve/git/notmandatory/bdk-ffi/bdk-ffi-bindgen)
  ```

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

Top commit has no ACKs.

Tree-SHA512: 87ad4a02d91184b421871354b1f5c31d906bf7460fe992db15666da32a65f13d8fbaf4ae53928f410a7206b195c8dff76af07210c144a4d02854ceb6af265f7e
2022-07-29 09:43:16 -07:00
Steve Myers
6d53cbeb25
Fix fmt error 2022-07-26 12:36:07 -07:00
Steve Myers
1a12f37a2f
Set MSRV to 1.57.0 2022-07-26 12:35:41 -07:00
Steve Myers
04022787c4
Merge bitcoindevkit/bdk-ffi#174: Add github workflows for audit, test and fmt
46850ed4710a18bc2db785d6816b6acddcfced5f Add github issue templates and PR template (Steve Myers)
49da6fcbaeaf3f3b437a3f2f58823c5aeba3ef14 Fix clippy warnings (Steve Myers)
075510d6e452522bef113568a895233ffc229410 Add github workflows for audit, test and fmt (Steve Myers)

Pull request description:

  1. Copied and updated github workflows from BDK project.
  2. Fixed clippy warnings.
  3. Added github issue templates and PR templates from BDK project.

  Fixes #88

Top commit has no ACKs.

Tree-SHA512: 7aaca6be0f05d12f4561e165ebc45b52e40200b231b55326732756d45116f371f2da4c5d7cc590cd0af9450c344530f815a357fa979a34d0181efc2149ffccb3
2022-07-26 12:25:25 -07:00
Steve Myers
46850ed471
Add github issue templates and PR template 2022-07-25 13:17:52 -07:00
Steve Myers
49da6fcbae
Fix clippy warnings 2022-07-25 13:17:52 -07:00
Steve Myers
075510d6e4
Add github workflows for audit, test and fmt 2022-07-25 13:17:38 -07:00
thunderbiscuit
fa5c67cd05
Bump uniffi-rs to 0.19.3 (#173) 2022-07-25 15:15:23 -04:00
thunderbiscuit
1a20d0a6c2
Merge pull request #164 from zoedberg/coin_selection
Add coin selection methods
2022-07-21 15:39:55 -04:00
Zoe Faltibà
a3ae4635eb
Post review fixes 2022-07-21 21:04:57 +02:00
Zoe Faltibà
5f12900c6d
Add TxBuilder coin selection methods 2022-07-21 16:59:16 +02:00
thunderbiscuit
1a5a628a5d
Merge pull request #170 from thunderbiscuit/bump/bdk-0.20.0
Update BDK to version 0.20.0
2022-07-20 11:49:21 -04:00
thunderbiscuit
d8c8261e44
Update BDK to version 0.20.0 2022-07-15 12:03:19 -04:00
thunderbiscuit
692904df1e
Merge pull request #158 from zoedberg/list_unspent
Add Wallet list_unspent method
2022-07-12 12:07:52 -04:00
thunderbiscuit
2ac42b3ae0
Add list_unspent and add_data methods to changelog 2022-07-12 12:05:31 -04:00
Pedro
6be22daf84
Add add_data method for txbuilder op_return (#163) 2022-06-23 07:20:02 -04:00
thunderbiscuit
fad5e3cefd
Fix comment for NetworkLocalUtxo trait 2022-06-22 14:48:56 -03:00
Zoe Faltibà
28a9b302d5
Post review changes 2022-06-18 15:38:39 +02:00
Zoe Faltibà
8f5ca7f0fc
Add Wallet list_unspent method 2022-06-18 15:37:40 +02:00
Steve Myers
80ed21e4c9
Bump version to 0.7.0 v0.7.0 2022-06-14 10:46:44 -07:00
Steve Myers
f2efcb6196
Update CHANGELOG for v0.7.0 2022-06-14 10:45:35 -07:00
Steve Myers
cc8a17ef86
Merge bitcoindevkit/bdk-ffi#148: Add Wallet and TxBuilder tests using test funded wallet
e469dcd32c174e6a3d898f9e61196231f4671159 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
2022-06-14 10:27:43 -07:00
Steve Myers
5ffe9ff331
Merge bitcoindevkit/bdk-ffi#161: Match bdk API and return a boolean when signing a PSBT
9a3d6098261a73e8005e78a7ea2791734321af93 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 9a3d6098261a73e8005e78a7ea2791734321af93

Tree-SHA512: c220929ea9bf7f670c850aebef1c2ebefcbf354f3887e692be36dced30e0e180816426bd58c5a58f61a9759e2f9f451b56e9448f42c23e26f96cf857fd6aa37c
2022-06-13 12:09:03 -07:00
thunderbiscuit
9a3d609826
Match bdk API and return a boolean when signing a PSBT 2022-06-13 15:58:44 -03:00
Steve Myers
bf8fef807d
Merge bitcoindevkit/bdk-ffi#162: Update BDK to version 0.19.0
0a3347b85a8f39bf797e7ec5b48f41be76d36fa0 Update BDK to version 0.19.0 (Steve Myers)

Pull request description:

  Update BDK to version 0.19.0
    - fixes #155, sqlite-db issue causing wrong balance
    - adds experimental taproot descriptor and PSBT support

ACKs for top commit:
  thunderbiscuit:
    Tested ACK [0a3347b](0a3347b85a).

Tree-SHA512: c94ee13f948996350f1079a5fb9be73225e40a930b982dcd7d6826bc19ae3d5ed76d4d3b78ebebf1ce78092570a26a53c93bcc6edf3eeca731142921cf297f83
2022-06-13 11:07:21 -07:00
Steve Myers
e469dcd32c
Add test with funded wallet 2022-06-10 15:59:33 -07:00
Steve Myers
0a3347b85a
Update BDK to version 0.19.0 2022-06-10 11:25:37 -07:00
Steve Myers
f40ab551b6
Merge bitcoindevkit/bdk-ffi#147: Clean up UDL file
efc475e33f6f36ac07f142471325f7f59254061f 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 efc475e33f6f36ac07f142471325f7f59254061f

Tree-SHA512: 8b37afd1d05f23cb51e04664459b88f3cf415f8616ee0a080294bc27c71c16ed8049ea605b4b41091e4c8276b107da21aff0c1712f2ebfb0dd059f68a4240745
2022-05-17 10:08:55 -07:00
thunderbiscuit
efc475e33f
Clean up UDL file 2022-05-17 08:16:17 -04:00
thunderbiscuit
cdea6dc0bf
Merge pull request #137 from thunderbiscuit/feat/address-index
Add address index to return type of get_address
2022-05-17 07:31:03 -04:00
thunderbiscuit
6beb98ca4c
Incorporate PR review fixes 2022-05-16 15:06:01 -04:00
thunderbiscuit
04d538ad45
Add get_address method on the wallet 2022-05-16 14:50:12 -04:00
thunderbiscuit
c074a92e0c
Add address index to return type of get_last_unused_address 2022-05-16 14:45:21 -04:00
Steve Myers
ff260edb3c
Merge bitcoindevkit/bdk-ffi#153: Simplify using struct update syntax and clone
e5cd7cb3a200ba6e907b4f0ec9fdfd2f621ffd6f Simplify using struct update syntax and clone (Sudarsan Balaji)

Pull request description:

ACKs for top commit:
  notmandatory:
    ACK e5cd7cb3a200ba6e907b4f0ec9fdfd2f621ffd6f

Tree-SHA512: 643013f6b0e131a56d9819598c99e7ac4ed008e121bd22d0e3d7dcff61bcb0826c8f1295bf2317580865e2b014f12b56bf4b538f0461a120ad3222b35b7cb933
2022-05-13 10:14:13 -07:00
Steve Myers
15a0795626
Merge bitcoindevkit/bdk-ffi#152: Release version 0.6.0
30e54ac067f68e8c22d652837b4d5901c12e3384 Bump version to 0.6.0 (Steve Myers)

Pull request description:

ACKs for top commit:
  thunderbiscuit:
    ACK 30e54ac067f68e8c22d652837b4d5901c12e3384.

Tree-SHA512: 235e1f894ba5bfac2fa60330d6e38c6179aaa27b4c6cb8cede17974207c9e04674d4cbbbaaa1705578e0552f09cc78db3ee1015e14cad91281a9d06764495cdd
2022-05-12 19:32:12 -07:00
Sudarsan Balaji
e5cd7cb3a2
Simplify using struct update syntax and clone 2022-05-12 22:50:03 +01:00
Steve Myers
30e54ac067
Bump version to 0.6.0 v0.6.0 2022-05-10 22:41:48 -07:00
Steve Myers
71583eca7f
Merge bitcoindevkit/bdk-ffi#150: Add new BumpFeeTxBuilder interface
0787d9c446a3390f0e020dcabd5f30a9d760391d Fix order of BumpFeeTxBuilder parameters (Steve Myers)
390d12703eb12fc3b58a14f62a64f8582ebbeaf2 Change TxBuilder and BumpFeeTxBuilder build() to finish() (Steve Myers)
9f903932dc59e1cc955112492b699330b8806d93 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
2022-05-10 22:35:32 -07:00
Steve Myers
0787d9c446
Fix order of BumpFeeTxBuilder parameters 2022-05-06 09:59:07 -07:00
Steve Myers
390d12703e
Change TxBuilder and BumpFeeTxBuilder build() to finish() 2022-05-06 09:52:20 -07:00
Steve Myers
9f903932dc
Add BumpFeeTxBuilder 2022-05-05 20:22:55 -07:00
Steve Myers
3b243efefd
Merge bitcoindevkit/bdk-ffi#149: Update to bdk 0.18.0
f38f4c6197ec95376beeb2f444f85bd6a8a12fbd Update CHANGELOG (Steve Myers)
11ba16ec1bec922e5ffd7fcf3903eec9caf227e7 Move txid getter to PartiallySignedBitcoinTransaction (Steve Myers)
4665c551dd67f38fe91011e41ed5d3e8de404fcf Update EsploraConfig, Blockchain broadcast, Wallet sync (Steve Myers)
907540d2143b4eff4146643259a068b2f0c8696a 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
2022-05-05 09:29:37 -07:00
Steve Myers
f38f4c6197
Update CHANGELOG 2022-05-02 16:17:27 -07:00
Steve Myers
11ba16ec1b
Move txid getter to PartiallySignedBitcoinTransaction 2022-04-25 21:31:40 -07:00
Steve Myers
4665c551dd
Update EsploraConfig, Blockchain broadcast, Wallet sync 2022-04-25 21:31:38 -07:00
Steve Myers
907540d214
Update bdk to 0.18.0 with sqlite-bundled feature 2022-04-25 21:31:36 -07:00