]> Untitled Git - bdk-cli/log
bdk-cli
7 months agochore: release version 1.0.0
Vihiga Tyonum [Mon, 19 May 2025 14:45:32 +0000 (15:45 +0100)]
chore: release version 1.0.0

-update chanelog for v1.0.0 release

7 months agoMerge bitcoindevkit/bdk-cli#186: ci: fix code coverage workflow
Steve Myers [Sat, 17 May 2025 01:24:27 +0000 (20:24 -0500)]
Merge bitcoindevkit/bdk-cli#186: ci: fix code coverage workflow

48fa1f64a94052cc493b49b2ede4604a579dcc50 ci: fix code coverage workflow (Steve Myers)

Pull request description:

  ### Description

  The code coverage workflow broke and this change fixes it.

  ### Notes to the reviewers

  This is copy/pasted from the bdk repo job of the same name.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    Self ACK 48fa1f64a94052cc493b49b2ede4604a579dcc50

Tree-SHA512: 0b5e42ad867044d26d3e38ed5c0229ab3228381e0ee9ccb3c2cdcd16908275562bc0ca64dcb37607c94ecbb410d409afb37c1c7296efd99fc39a778029752274

7 months agoci: fix code coverage workflow
Steve Myers [Fri, 16 May 2025 21:54:09 +0000 (16:54 -0500)]
ci: fix code coverage workflow

7 months agoMerge bitcoindevkit/bdk-cli#182: Implement transaction broadcasting for Kyoto
Steve Myers [Fri, 16 May 2025 16:40:46 +0000 (11:40 -0500)]
Merge bitcoindevkit/bdk-cli#182: Implement transaction broadcasting for Kyoto

811f614515b6fb1ae5689bf02ec830bdc7ff62ac fix(cbf): typo and cbf dir config when sqlite feature disabled (Steve Myers)
b04fed2e8a58dd6b4e001c64d03d85ad46cf7d3c feat(cbf): implement transaction broadcasting (rustaceanrob)

Pull request description:

  The actual implementation comes down to listening for an info message that reports the transaction was sent to a peer. For simplicity I am ignoring any wallet updates, but if the user calls the `Sync` command they can catch them. Follows up #181

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature
  * [ ] I've updated `CHANGELOG.md`

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  notmandatory:
    ACK 811f614515b6fb1ae5689bf02ec830bdc7ff62ac

Tree-SHA512: 6a1ae4cee58170be5ac444598ea8362e8bd7c77137e2f010e8120869d7491c0ad37798508cea04da6a755d4a1a85b283454daf11624a3bb485e61003ae194007

7 months agofix(cbf): typo and cbf dir config when sqlite feature disabled
Steve Myers [Fri, 16 May 2025 16:15:49 +0000 (11:15 -0500)]
fix(cbf): typo and cbf dir config when sqlite feature disabled

7 months agofeat(cbf): implement transaction broadcasting
rustaceanrob [Thu, 8 May 2025 19:30:07 +0000 (20:30 +0100)]
feat(cbf): implement transaction broadcasting

For the highest reliability, we wait for the connection requirement to
be met by the node. Once met, we can broadcast and wait for
confirmation. The function will either timeout after 15 seconds or
successfully finish with gossip confirmation.

7 months agoMerge bitcoindevkit/bdk-cli#183: chore(cbf): set kyoto client data dir
Steve Myers [Thu, 15 May 2025 02:14:27 +0000 (21:14 -0500)]
Merge bitcoindevkit/bdk-cli#183: chore(cbf): set kyoto client data dir

afc2f9d97f5729f7cbd6abcba5576ce8ed06e4e8 chore(cbf): mv kyoto data to existing datadir (Vihiga Tyonum)

Pull request description:

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

  ### Description

  This PR set the data directory for the Kyoto client. See [comment](https://github.com/bitcoindevkit/bdk-cli/pull/181#issuecomment-2863853425)

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

  ### Notes to the reviewers

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  This PR ensures that the `light_client_data` directory created by the Kyoto client is in the wallet's data directory.

  ## Changelog notice

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature
  * [ ] I've updated `CHANGELOG.md`

ACKs for top commit:
  notmandatory:
    tACK afc2f9d97f5729f7cbd6abcba5576ce8ed06e4e8

Tree-SHA512: 899e060313fc3a4263d52a242e785ae30e4e15c6172fcfc1b5242f1038c1670f568f1e09d8080944c9a2912a04ca2971ba1eda21eb0ef53bbff01d037dc02bdf

7 months agochore(cbf): mv kyoto data to existing datadir
Vihiga Tyonum [Sat, 10 May 2025 03:19:01 +0000 (04:19 +0100)]
chore(cbf): mv kyoto data to existing datadir

move light_client_data to existing data dir for
the wallet

7 months agoMerge bitcoindevkit/bdk-cli#181: feat(cbf): add `cbf` feature using `bdk_kyoto`
Steve Myers [Thu, 8 May 2025 18:40:34 +0000 (11:40 -0700)]
Merge bitcoindevkit/bdk-cli#181: feat(cbf): add `cbf` feature using `bdk_kyoto`

6debc68afaf545f497cdd17f0e79172313d40463 feat(cbf): add cbf feature using bdk_kyoto (Vihiga Tyonum)

Pull request description:

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

  ### Description

   This PR re-enables the Compact Block Filters (cbf) feature using `bdk_kyoto` and it is part of updating the library
  to use the latest `bdk` crates.

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

  ### Notes to the reviewers

  This is part of issue  #172

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Checklists

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rustaceanrob:
    ACK 6debc68afaf545f497cdd17f0e79172313d40463
  notmandatory:
    ACK 6debc68afaf545f497cdd17f0e79172313d40463

Tree-SHA512: d78d9d2840b377bcb8876421b6133fdaecd3d5c2bdf60438769b09e71282b662bdf5c8e7aa53edb121efff5d1b17637c498a363cc279a3ba8ad6121dae849864

7 months agofeat(cbf): add cbf feature using bdk_kyoto
Vihiga Tyonum [Sat, 3 May 2025 14:59:53 +0000 (15:59 +0100)]
feat(cbf): add cbf feature using bdk_kyoto

- enable full_scan and sync operations

[issue: #172]

feat(cbf): update broadcasting tx

- add wait time for node to connect to peers
before broadcasting tx
- add sync chain starting from 10 blocks below
the wallet tip to ensure tx is propagated
- update code_coverage workflow to cover cbf
feature

feat(cbf): update bdk-kyoto to 0.9.0

- refactor syncing into a fn
- made `skip-blocks` optional and removed default
value to use bdk-kyoto Sync scan type

feat(cbf): remove looping for kyoto sync

- remove looping for kyoto client sync operations
- fix compiler warnings

8 months agoMerge bitcoindevkit/bdk-cli#174: feature: update `bdk-cli` to use `bdk_wallet` v1
Steve Myers [Sun, 13 Apr 2025 02:55:49 +0000 (21:55 -0500)]
Merge bitcoindevkit/bdk-cli#174: feature: update `bdk-cli` to use `bdk_wallet` v1

e0bd1471c88cbadc12558328b236ba6923f86cc9 fix: clippy errors (Steve Myers)
524562cd10b39b0b1cb3ef63f21ba985268bff03 fix: signing / finalizing `psbt` (Vihiga Tyonum)
fb7232f36bd1ffd44ffefa5e4b105329cecf7a05 rpc: print status during full_scan and sync (Steve Myers)
4a66557828a64734130ed2050a05827874161d3e ci: remove WASM job, fix more clippy errors (Steve Myers)
eb947fc30d26c4dcc4f0ba5082223e42c768a4cf ci: with msrv 1.75 pin minreq to 2.13.2 (Steve Myers)
efc5fc5a15650e804215a516cdf9e624d19bb5c3 ci: fix clippy errors (Steve Myers)
92cabb119f7aa16a5f018be518659499ee7228b7 ci: update actions checkout and cache to v4, simplify matrix features (Steve Myers)
cb108738f8d795d431b910146685386bb8d41094 refactor: fix error handling (Vihiga Tyonum)
8307db08776d7b53dbadcf776a4b786a925291f2 feat: re-enable `rpc` feature (Vihiga Tyonum)
8ac25291e955a87f8a97348f6577a91d716a8af0 ci: update the CI workflow (Vihiga Tyonum)
a2ad6b3b72b2377036c3ba761befc0cc7418b23b feat: add ci test for features (Vihiga Tyonum)
50a6a60f35d251687bd464b379012d961bdf5a7d refactor: remove rpc, cbf, cleanup features (Steve Myers)
0be8453c54fc747c3c4e06b665c100bc0ee7bea6 refactor: update onlinewalletsubcommands (Vihiga Tyonum)
440bd3687bb8e91b71c72bc0a3d8219e25051044 refactor: update creating_backend fn (Vihiga Tyonum)
58f07a1c0bdaddb354111b709243a8c08904e147 refactor: update nodes.rs file (Vihiga Tyonum)
cb4450b9112dba4fecb8be2b0c739778b3bfc57b refactor: update imports and reserves feature (Vihiga Tyonum)
50233dd3fd1b752f209df74813b2dc028105cf6f refactor: replace bdk::error with custom error (Vihiga Tyonum)
b8d235731e9c4b8375d7967d1295e474db8e5259 feat: add custom error enum (Vihiga Tyonum)
6f263bf4f6b80a3b94614b5b336194eeb613498f feat!: replace bdk with bdk_wallet & update deps (Vihiga Tyonum)
b56c0235af1239f59dbfbc1ae17b2e7b497f0fd4 refactor: update imports from bdk to bd_wallet (Vihiga Tyonum)
91f5918d71095041574f83375ff7d5740025ca29 refactor: update imports from bdk to bdk_wallet (Vihiga Tyonum)
ddce50d568ee3aa28a58a89a3ba9c0a87ec9beaf refactor: update imports from bdk to bdk_wallet (Vihiga Tyonum)
4c89cbf968938e3253fa683a18badcadd1ad082b refactor:update imports from bdk to use bdk_wallet (Vihiga Tyonum)
890cb45bc70d1d1cc3851a39871426479ba9d7b3 refactor: add bdk_wallet (Vihiga Tyonum)

Pull request description:

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

  ### Description

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

  This PR update `bdk-cli` to use `bdk_wallet` v1

  Issue: https://github.com/bitcoindevkit/bdk-cli/issues/172#issue-2780523794

  ### Notes to the reviewers
  - replaced `list_transactions` with `transactions`
  - set `enable_rbf` to be `true` by default
  - update creating and serializing Psbts
  - update `new_wallet` to return `PersistedWallet<Connection>`
  - default fee_rate to use FeeRate::BROADCAST_MIN
  - update `zeroize` to version `1.8.1` from `<1.4.0`
  - update `bdk-reserves` from `0.27.1` to `0.29.0`
  - replace `bdk/electrum` with `bdk_electrum` for the `electrum` feature
  - add `bdk_esplora` for the `bdk/use-esplora-ureq` and `bdk/use-esplora-reqwest` features
  - add `bdk_bitcoind_rpc` lib to replace `bdk/rpc` feature
  - add `hwi` library to replace `bdk/hardware-signer` feature

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ## Changelog notice
  - set `enable_rbf` to be `true` by default
  - update using `PartiallySignedTransaction` to `Psbt`
  - default fee_rate to use FeeRate::BROADCAST_MIN
  - update `zeroize` to version `1.8.1` from `<1.4.0`
  - update `bdk-reserves` from `0.27.1` to `0.29.0`
  - replace `bdk/electrum` with `bdk_electrum` for the `electrum` feature
  - replace `bdk/use-esplora-ureq` and `bdk/use-esplora-reqwest`  with `bdk_esplora` lib
  - replace `bdk/rpc` with `bdk_bitcoind_rpc` lib
  - replace  `bdk/hardware-signer` with `hwi` lib

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### Bugfixes:

  * [x] This pull request breaks the existing API
  * [x] I'm linking the issue being fixed by this PR

ACKs for top commit:
  notmandatory:
    ACK e0bd1471c88cbadc12558328b236ba6923f86cc9

Tree-SHA512: cd548805327b55a66be26aa0402ef7a4512a0a75ffdcefa243c86d838d82215a5e4605989436903c135c31902e84cebf8d88197db18df9193d1fc0cb9e0f567f

8 months agofix: clippy errors
Steve Myers [Sun, 13 Apr 2025 02:36:19 +0000 (21:36 -0500)]
fix: clippy errors

9 months agofix: signing / finalizing `psbt`
Vihiga Tyonum [Fri, 14 Mar 2025 03:19:28 +0000 (04:19 +0100)]
fix: signing / finalizing `psbt`

- fix the returned data after signing or
finalizing `psbt`

[Ticket: X]

9 months agorpc: print status during full_scan and sync
Steve Myers [Wed, 12 Mar 2025 23:04:21 +0000 (18:04 -0500)]
rpc: print status during full_scan and sync

Also when doing an rpc sync, re-sync the prior 200 blocks to
handle any possible reorg scenarios.

9 months agoci: remove WASM job, fix more clippy errors
Steve Myers [Wed, 12 Mar 2025 17:40:21 +0000 (12:40 -0500)]
ci: remove WASM job, fix more clippy errors

9 months agoci: with msrv 1.75 pin minreq to 2.13.2
Steve Myers [Wed, 12 Mar 2025 17:30:34 +0000 (12:30 -0500)]
ci: with msrv 1.75 pin minreq to 2.13.2

9 months agoci: fix clippy errors
Steve Myers [Wed, 12 Mar 2025 17:10:21 +0000 (12:10 -0500)]
ci: fix clippy errors

9 months agoci: update actions checkout and cache to v4, simplify matrix features
Steve Myers [Wed, 12 Mar 2025 16:19:28 +0000 (11:19 -0500)]
ci: update actions checkout and cache to v4, simplify matrix features

9 months agorefactor: fix error handling
Vihiga Tyonum [Sat, 8 Mar 2025 03:46:22 +0000 (04:46 +0100)]
refactor: fix error handling

-add more error types to error enum
- update the handlers file to replace Generic
error arm

[Ticket: X]

9 months agofeat: re-enable `rpc` feature
Vihiga Tyonum [Wed, 5 Mar 2025 08:57:32 +0000 (09:57 +0100)]
feat: re-enable `rpc` feature

- re-enable `rpc` feature

9 months agoci: update the CI workflow
Vihiga Tyonum [Fri, 21 Feb 2025 12:42:43 +0000 (13:42 +0100)]
ci: update the CI workflow

- remove unavailable features in code_coverage workflow
- add more features for the cont_integration workflow
- update local compilation test script

[Ticket: X]

9 months agofeat: add ci test for features
Vihiga Tyonum [Fri, 21 Feb 2025 03:16:26 +0000 (04:16 +0100)]
feat: add ci test for features

- add ci test for features
- add "compiler" feature to bdk_wallet dependency
- remove duplicate fn in utils.rs
- replace "possible_values" with "value_parser"
as it is deprecated in clap 4.5

[Ticket: X]

9 months agorefactor: remove rpc, cbf, cleanup features
Steve Myers [Thu, 13 Feb 2025 05:26:54 +0000 (23:26 -0600)]
refactor: remove rpc, cbf, cleanup features

- fix repl

9 months agorefactor: update onlinewalletsubcommands
Vihiga Tyonum [Tue, 18 Feb 2025 20:49:36 +0000 (21:49 +0100)]
refactor: update onlinewalletsubcommands

-update all online wallet subcommands

[Ticket: X]

10 months agorefactor: update creating_backend fn
Vihiga Tyonum [Wed, 12 Feb 2025 22:12:29 +0000 (23:12 +0100)]
refactor: update creating_backend fn

-update error enum
- update creating a new_backend

[Ticket: X]

10 months agorefactor: update nodes.rs file
Vihiga Tyonum [Tue, 11 Feb 2025 23:50:19 +0000 (00:50 +0100)]
refactor: update nodes.rs file

- replace `bitcoincore_rpc` client with
`electrsd::Node` client
- update rpc commands
- update `electrsd` to v0.31.0

[Ticket: X]

10 months agorefactor: update imports and reserves feature
Vihiga Tyonum [Sat, 8 Feb 2025 14:06:55 +0000 (15:06 +0100)]
refactor: update imports and reserves feature

- update deps imports
- refactor reserves feature

[Ticket: X]

10 months agorefactor: replace bdk::error with custom error
Vihiga Tyonum [Thu, 6 Feb 2025 12:14:32 +0000 (13:14 +0100)]
refactor: replace bdk::error with custom error

- replace bdk::error with custom error enum
- update imports and handling of errors

[Ticket: X]

10 months agofeat: add custom error enum
Vihiga Tyonum [Thu, 6 Feb 2025 12:13:31 +0000 (13:13 +0100)]
feat: add custom error enum

-add error enum for handling errors

[Ticket: X]

10 months agofeat!: replace bdk with bdk_wallet & update deps
Vihiga Tyonum [Thu, 6 Feb 2025 11:50:44 +0000 (12:50 +0100)]
feat!: replace bdk with bdk_wallet & update deps

- Replace `bdk` with `bdk_wallet` v1 in Cargo.toml
- replace removed features in bdk features/mods
with crates

[Ticket: X]

10 months agorefactor: update imports from bdk to bd_wallet
Vihiga Tyonum [Mon, 3 Feb 2025 12:12:46 +0000 (13:12 +0100)]
refactor: update imports from bdk to bd_wallet

- add `parse_address` method
- remove `key-value-db` feature as it uses `sled`
- update `open_database` fn to return
rusqlite::Connection
- update `new_wallet` fn to return
`PersistedWallet<Connection>`

[Ticket: X]

10 months agorefactor: update imports from bdk to bdk_wallet
Vihiga Tyonum [Mon, 3 Feb 2025 12:08:27 +0000 (13:08 +0100)]
refactor: update imports from bdk to bdk_wallet

- update imports from bdk to bdk_wallet
- fix compilation warnings

[Ticket: X]

10 months agorefactor: update imports from bdk to bdk_wallet
Vihiga Tyonum [Mon, 3 Feb 2025 12:01:10 +0000 (13:01 +0100)]
refactor: update imports from bdk to bdk_wallet

- replace `list_transactions` method  with
`transactions`
- format `recipients` to be a vec of `ScriptBuf`
and `Amount`
- update creating and serializing `Psbt`s
- update `fee_rate` method and default to
`FeeRate::BROADCAST_MIN`
- replace `allow_shrinking` method with `drain_to`
method
- update `handle_offline_wallet_subcommands` to
use `PersistedWallet<D>` instead of `Wallet<D>`
[Ticket: X]

10 months agorefactor:update imports from bdk to use bdk_wallet
Vihiga Tyonum [Mon, 3 Feb 2025 11:48:06 +0000 (12:48 +0100)]
refactor:update imports from bdk to use bdk_wallet

-update imports from bdk to use bdk_wallet
- set `enable_rbf` command option to be `true` by
default
- add `parse_address` fn to parse address from
string
- replace `ExtendedPrivateKey` with `Xpriv` from
bdk_wallet
- update derving address from string to use
`assumed_check`

[Ticket: X]

10 months agorefactor: add bdk_wallet
Vihiga Tyonum [Mon, 3 Feb 2025 11:37:11 +0000 (12:37 +0100)]
refactor: add bdk_wallet

add bdk_wallet to Cargo.toml

* the bdk crate is still in using because of the
error enum, which will be removed after feedback
[Ticket: X]

2 years agoci: pin tokio to 1.29.1 to build with MSRV 1.57.0
Steve Myers [Thu, 17 Aug 2023 16:57:50 +0000 (11:57 -0500)]
ci: pin tokio to 1.29.1 to build with MSRV 1.57.0

also:
- pin any version of tempfile to 3.6.0
- pin cc to 1.0.81
- pin flate2 to 1.0.26

2 years agoci: fix MSRV jobs with cargo update
Steve Myers [Thu, 20 Jul 2023 23:26:50 +0000 (18:26 -0500)]
ci: fix MSRV jobs with cargo update

2 years agoUpdate changelog file
rajarshimaitra [Wed, 15 Mar 2023 06:49:22 +0000 (12:19 +0530)]
Update changelog file

2 years agoBump version to 0.27.1 github/release/0.27.1 v0.27.1
rajarshimaitra [Wed, 8 Mar 2023 06:04:15 +0000 (11:34 +0530)]
Bump version to 0.27.1

2 years agoMerge bitcoindevkit/bdk-cli#135: adding hardware signers
rajarshimaitra [Wed, 8 Mar 2023 05:39:11 +0000 (11:09 +0530)]
Merge bitcoindevkit/bdk-cli#135: adding hardware signers

100ea8d7e8ae789e3c328706591ec20ba427496b adding hardware signers (Richard Ulrich)

Pull request description:

  ### Description

  Adding hardware signers, so that hardware wallets can be used to sign transactions.

  ### Notes to the reviewers

  ~~It doesn't work 100% yet for me.
  I am using the following wallet:
  https://github.com/RCasatta/electrum2descriptors/blob/main/tests/wallets2descriptors.rs#L89
  https://github.com/RCasatta/electrum2descriptors/blob/main/tests/wallets/multisig_hw_segwit
  I can create and sign a transaction with this version of bdk-cli. It displays the details on the Trezor and everything looks good so far. But in the CLI output of bdk-cli it says  "is_finalized= false" and when I open the supposedly signed tx in Electrum, it aslo says "Status: Unsigned".
  So, something must still be missing.~~

  Initially I had some dependency problems, so I deleted Cargo.lock. That solved the dependency problems, but that's the reason for the large diff on that file.

  ## Changelog notice

  Added hardware signers through the use of HWI

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature
  * [x] I've updated `CHANGELOG.md`

ACKs for top commit:
  notmandatory:
    utACK 100ea8d7e8ae789e3c328706591ec20ba427496b
  rajarshimaitra:
    ACK 100ea8d7e8ae789e3c328706591ec20ba427496b

Tree-SHA512: 672c72f7d23aa80db638562cd48ab377712d3600f360ee4dbfa34537b7f15c91c647f38493d82300acf9c04398f3a104f2ab3951aff2dac6dbc94a284ac16934

2 years agoMerge bitcoindevkit/bdk-cli#144: Update bdk from 0.27 to 0.27.1
rajarshimaitra [Sun, 26 Feb 2023 17:04:30 +0000 (22:34 +0530)]
Merge bitcoindevkit/bdk-cli#144: Update bdk from 0.27 to 0.27.1

26cdc208a3d4d5589746c6d2b272020414633b16 Update bdk from 0.27 to 0.27.1 (Steve Myers)

Pull request description:

  ### Description

  Update `bdk` from 0.27 to 0.27.1 to fix bitcoindevkit/bdk#866.

  ### Notes to the reviewers

  Once we get this verified for `bdk-cli` and `bdk-ffi` I'll publish the new bdk release and update this PR to use the new version.

  ## Changelog notice

  Changed
  - Update bdk from 0.27 to 0.27.1 to fix bitcoindevkit/bdk#866.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rajarshimaitra:
    tACK 26cdc208a3d4d5589746c6d2b272020414633b16

Tree-SHA512: 7bc463872475804266ddef0bfe28a921395a526f3f9862152c3d48a6cdbfba45e9be9a99f919c27a872d76c21e119a54197a1c17bef45362e32eeb948258740f

2 years agoUpdate bdk from 0.27 to 0.27.1
Steve Myers [Thu, 16 Feb 2023 20:49:03 +0000 (14:49 -0600)]
Update bdk from 0.27 to 0.27.1

2 years agoadding hardware signers
Richard Ulrich [Fri, 6 Jan 2023 11:37:07 +0000 (12:37 +0100)]
adding hardware signers

2 years agoMerge bitcoindevkit/bdk-cli#143: Bump bdk to `v0.27.0`
Steve Myers [Tue, 14 Feb 2023 22:55:52 +0000 (16:55 -0600)]
Merge bitcoindevkit/bdk-cli#143: Bump bdk to `v0.27.0`

1bc4a763a3c84cadb9a7ad850d9940da9b0b253f Bump bdk and bdk-reserves to `v0.27.0` (rajarshimaitra)

Pull request description:

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

  ### Description

  Upgrades to bdk `v0.27.0-rc.1`. Pins dependency `zip` to `v0.6`, as latest version of `zip` moved up their MSRV to `1.59`.

  ### Notes to the reviewers

  of the PR were done in a specific way -->

  ## Changelog notice

  <!-- Notice the release manager should include in the release tag message changelog -->
  <!-- See https://keepachangelog.com/en/1.0.0/ for examples -->
   - BDK version bumped to `0.27`.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK 1bc4a763a3c84cadb9a7ad850d9940da9b0b253f

Tree-SHA512: 65c34d55ce1f4afc69cd7d2466715791516ab3dca9f64e96428219f60b2c7449f26a0bce62eb672435be947619d1db48793f46334eece376882f6b4ac556269f

2 years agoBump bdk and bdk-reserves to `v0.27.0`
rajarshimaitra [Wed, 8 Feb 2023 13:02:37 +0000 (18:32 +0530)]
Bump bdk and bdk-reserves to `v0.27.0`

2 years agoMerge bitcoindevkit/bdk-cli#140: bump stable rustc version to 1.65
Steve Myers [Tue, 14 Feb 2023 22:25:13 +0000 (16:25 -0600)]
Merge bitcoindevkit/bdk-cli#140: bump stable rustc version to 1.65

e10366410303bc1aff7308e6a944dcb01e16e23a Derive Eq on enums and struts where possible (rajarshimaitra)
0f3aca208044eef829769722afabb0dd002e1a86 bump stable rustc version to 1.65 (rajarshimaitra)

Pull request description:

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

  ### Description

  As BDK bumped its stable to 1.65, it is safe for us to move it up also.

  ### Notes to the reviewers

  `1.65` cause clippy warning that `Eq` isn't derived while `PartialEq` is derived for the commands. We can't derive `Eq` for commands, as there is a `fee_rate` which is `f32` which isn't `Eq`, and this effect cascades to all structures. We also need `PartialEq` for the tests.

  A few options were:
   - allow the clippy warning conditionally for `1.65`, `1.57` doesn't have that lint. The way to do that is by creating custom features for different versions and making a build script that activates specific features for specific versions. Feature gate the clippy lint. or use https://github.com/dtolnay/rustversion which is an extra dep.

    - Remove `PartialEq` and create a method on `CliOpts` to translate it into `Vec<String>`, and then perform the tests.

    - Make `fee_rate` `u32` and derive `Eq` for all.

  I went for the last option as it seemed less complex, and not too bad(?). For bdk_cli as majorly a testing tool, it might not need floating point granularity and users can still test out with `u32` fee_rates. Internally it converts it back to `f32`.

  Suggestions welcome.

  ## Changelog notice

   - Bumped rustc `stable` to 1.65.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

Top commit has no ACKs.

Tree-SHA512: d471d56dc6e50cc892a889bbe1f0283ce22feb9c34b6bdebfcfb71117069df166086d1e00c9a8e22979d2be24fad797335066d6c6a58a8ca5ec5f1d2b8d9575e

2 years agoDerive Eq on enums and struts where possible
rajarshimaitra [Wed, 18 Jan 2023 05:32:17 +0000 (11:02 +0530)]
Derive Eq on enums and struts where possible

2 years agoMerge bitcoindevkit/bdk-cli#139: update electrsd to v0.22.*
rajarshimaitra [Tue, 24 Jan 2023 14:51:44 +0000 (20:21 +0530)]
Merge bitcoindevkit/bdk-cli#139: update electrsd to v0.22.*

a25ad6a04099d75df51e98346f252e0fe56322ec fix cargo lock (rajarshimaitra)
c76c62e2acc50e23fa451a6cc29a60451c5b4e71 update electrsd to v0.22.* (rajarshimaitra)

Pull request description:

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

  ### Description

  As we are already at msrv 1.57.0, so we can bump electrsd to v0.22.

  Which fixes #85 and potentially #131  too..

  ### Notes to the reviewers

  ## Changelog notice

  Bump `electrsd` version to `v0.22.*`.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK a25ad6a04099d75df51e98346f252e0fe56322ec

Tree-SHA512: be9c43eac78b435a289b7b7b606143fb9554629994ad2b6249eb904df310beba2ad43c33521e1fee1f8c5cb3d9ec71ae2832ad6434e165634aaca96f19c0cd88

2 years agobump stable rustc version to 1.65
rajarshimaitra [Wed, 18 Jan 2023 04:46:05 +0000 (10:16 +0530)]
bump stable rustc version to 1.65

2 years agofix cargo lock
rajarshimaitra [Wed, 18 Jan 2023 04:41:27 +0000 (10:11 +0530)]
fix cargo lock

2 years agoupdate electrsd to v0.22.*
rajarshimaitra [Thu, 12 Jan 2023 07:16:04 +0000 (12:46 +0530)]
update electrsd to v0.22.*

2 years agoWe don't need this as we skip the `rc` steps.
rajarshimaitra [Thu, 12 Jan 2023 06:55:19 +0000 (12:25 +0530)]
We don't need this as we skip the `rc` steps.

2 years agoMerge bitcoindevkit/bdk-cli#137: Update the release cycle v0.26.0
Steve Myers [Thu, 12 Jan 2023 03:58:12 +0000 (19:58 -0800)]
Merge bitcoindevkit/bdk-cli#137: Update the release cycle

4bb535e79d647ce9bce6e65763361a206942fa4e Update the release cycle (rajarshimaitra)

Pull request description:

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

  ### Description

  Follow the bdk main release process, expect making intermediate release candidate.
  Add other issue templates.
  Add Development_cycle notes.
  Update PR template to include changelog section.
  Update changelog to include instruction of new change log format.

  ### Notes to the reviewers
  Please re-check the `minor_release.md` file where I updated the release process without `rc` creation.
  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK 4bb535e79d647ce9bce6e65763361a206942fa4e

Tree-SHA512: 5532680364b2e102c4c615c6a08cbb09806c95fcfcf4b2063a855054e39bc4f1859d0601f439a567f51b6ad80102f9275e525c9545df1648570bf099cda10ecf

2 years agoUpdate the release cycle
rajarshimaitra [Wed, 11 Jan 2023 17:01:42 +0000 (22:31 +0530)]
Update the release cycle

Follow the bdk main release process, expect making intermediate release
candidate.
Add other issue templates.
Add Development_cycle notes.
Update PR template to include changelog section.
Update changelog to include instruction of new changelog format.

2 years agoMerge bitcoindevkit/bdk-cli#133: Update to bdk v0.26.0
Steve Myers [Tue, 10 Jan 2023 17:16:17 +0000 (11:16 -0600)]
Merge bitcoindevkit/bdk-cli#133: Update to bdk v0.26.0

52dd87efa78d312092faa625fd5756a1dc9c596f Update to bdk v0.26.0 (rajarshimaitra)

Pull request description:

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

  ### Description

  Upgrade to bdk v0.26.0

  ### Notes to the reviewers

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK 52dd87efa78d312092faa625fd5756a1dc9c596f

Tree-SHA512: 57e157463d5eb3b3138722000b29a2f532893a18371918eaf8149fdda3f23800907f363ac2b968084bbf94df2b0ad6c88feb71a10427267c2f400ff1c5ccb915

2 years agoUpdate to bdk v0.26.0
rajarshimaitra [Thu, 29 Dec 2022 06:38:39 +0000 (12:08 +0530)]
Update to bdk v0.26.0

2 years agoMerge bitcoindevkit/bdk-cli#128: Check if psbt is final, before broadcasting
Steve Myers [Tue, 10 Jan 2023 14:59:35 +0000 (08:59 -0600)]
Merge bitcoindevkit/bdk-cli#128: Check if psbt is final, before broadcasting

110be3fcfe0a562038791c7faf30a6684db6bc87 check if psbt is final, before broadcasting (rajarshimaitra)

Pull request description:

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

  ### Description

  Fixes #97

  Add a finalizer check before broadcasting psbts.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    tACK 110be3fcfe0a562038791c7faf30a6684db6bc87

Tree-SHA512: 898908062bbfbe90ed296afbd83179066bfc2cb42538b3ff1c91a6da6c174ec4dbb0cd013dd766ec12ea944b7f0673ad36552aa0a423d2afbc94edcf43084d5c

2 years agocheck if psbt is final, before broadcasting
rajarshimaitra [Sun, 30 Oct 2022 16:16:17 +0000 (21:46 +0530)]
check if psbt is final, before broadcasting

2 years agoMerge bitcoindevkit/bdk-cli#136: Remove mention of compact_filters from README until...
rajarshimaitra [Tue, 10 Jan 2023 05:45:28 +0000 (11:15 +0530)]
Merge bitcoindevkit/bdk-cli#136: Remove mention of compact_filters from README until it can be re-enabled

c6f6a078ab3064eed74d964c52edd4eadff8e9df Remove mention of compact_filters from README until it can be re-enabled (Steve Myers)

Pull request description:

  ### Description

  Remove mention of compact_filters from README until it can be re-enabled

  ### Notes to the reviewers

  I didn't notice this before I merged #125.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rajarshimaitra:
    ACK c6f6a078ab3064eed74d964c52edd4eadff8e9df

Tree-SHA512: 218e98d98af55f99ae77c88a75d74868b6503d8894ec8bcd508b3eec457d8a6bfe446d7fee637225ce2667bfdef472cbfd5a0fe54730d49ae1d84a0d560ad9f4

2 years agoRemove mention of compact_filters from README until it can be re-enabled
Steve Myers [Tue, 10 Jan 2023 01:06:27 +0000 (19:06 -0600)]
Remove mention of compact_filters from README until it can be re-enabled

2 years agoMerge bitcoindevkit/bdk-cli#125: Remove cbf
Steve Myers [Mon, 9 Jan 2023 15:40:38 +0000 (09:40 -0600)]
Merge bitcoindevkit/bdk-cli#125: Remove cbf

162aa9edf9a853a6d3261de30559b21a633622f3 Update cargo lock (rajarshimaitra)
9bbe7681903c1c457beff47a6a276db65ef9ac38 disable also in CI (rajarshimaitra)
11750618c706c158e82a6658b728b0b3a0b7198e Temporarily Disable CBF (rajarshimaitra)

Pull request description:

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

  ### Description

  Fixes #112

  Removes compact block filters temporarily.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK 162aa9edf9a853a6d3261de30559b21a633622f3

Tree-SHA512: 9a7b88a32c2e7fffd18eea477cfb49f05b5af523ed7811ab1f22d597736fee23b8baa30b0ec0fb0ddb54f6aa6fd7c5d5666e101b4fa4d0efecbb432cfa80b44b

2 years agoUpdate cargo lock
rajarshimaitra [Sun, 2 Oct 2022 14:47:08 +0000 (20:17 +0530)]
Update cargo lock

2 years agodisable also in CI
rajarshimaitra [Fri, 6 Jan 2023 07:13:20 +0000 (12:43 +0530)]
disable also in CI

2 years agoTemporarily Disable CBF
rajarshimaitra [Sun, 2 Oct 2022 13:50:23 +0000 (19:20 +0530)]
Temporarily Disable CBF

3 years agoMerge bitcoindevkit/bdk-cli#124: Migrate from structopt to clap.
Steve Myers [Tue, 29 Nov 2022 04:23:51 +0000 (20:23 -0800)]
Merge bitcoindevkit/bdk-cli#124: Migrate from structopt to clap.

b20a140a60166650766b6100deee85d051dee538 Fix some clippies.. (rajarshimaitra)
1e21cc74f0fae16f6da1cf29983a8c91ba3010c9 Fix wasm (rajarshimaitra)
ba1c165f0fa847b02bca1f3bde335bafb3132c7d Update cargo lock. (rajarshimaitra)
02e71b06dbd670ddec4dd6d3ad3639dacf35787d Reverse the recipient parsing string (rajarshimaitra)
95719b0ad1628f6737efb6a568c872ab7b8cbbe2 Remove vector of string from compact_filters options. (rajarshimaitra)
9fb651a9e97052a4f65c3d20f44d264a30715ce1 Update wasm build to 1.57 in CI (rajarshimaitra)
7e87a65fea874033c48cca589d628bf3c07c1289 update MSRV to 1.57 (rajarshimaitra)
3dcc269f65d0f681945e1b1a45e2961d87ad7017 Update Cargo lock (rajarshimaitra)
f8c0f2e0206bc53c1577f758eb7926ce87d3e035 Update recipient parsing in handlers. (rajarshimaitra)
5bbc45ab2a3405fcae6eaad2c177e6d48fc9bf2e Move from structopt to clap (rajarshimaitra)

Pull request description:

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

  ### Description

  Fixes #113.

  This is an attempt to migrate from `structopt` to `clap v0.3` which provides very similar kind of derives as `structopt`. Changes are straight forward. But this comes with few more problems.

   - with clap `v3.2.22` the MSRV pushes up to `1.57.0`.. The last clap of MSRV `1.56.0` was `clap 3.2.5`.. But even that doesn't seem to be working at MSRV `1.56.0` anymore, as bunch of underlying lib has upgraded.

   - `clap v3.0` doesn't seem to support custom vector parsing well, reported here https://github.com/clap-rs/clap/issues/1704. This is required for `recipient` parsing which is a `Vec<(Script, u32)>`.  Workaround for that is to use vecs of strings and parse them at runtime in `create_tx` handler. Included in the PR.

  ### Notes to the reviewers

  `structopt` is currently freezed at `clap 2.0` and doesn't seem to intend on updating and currently its has unmaintained vulnerability. And `clap v3.0` onward seems to replacing everything that `structopt` did before.  So this means we should also look for ways to migrate from `strcutopt` to `clap`.. But `clap` seemed to have moved ahead than our MSRV `1.56.0`.. So we need to take up a call on that.. Opened this PR to facilitate that discussion..

  This is draft until we figure what to do..

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK b20a140a60166650766b6100deee85d051dee538

Tree-SHA512: de3511c1531185064e3c328f0c966c3e87294b7c6d07a89ba9f64e49f7c8b8ccaef0915f49fc6721b738f91a0128b30eeb61147a2da174ccac9abab094ab6798

3 years agoFix some clippies..
rajarshimaitra [Wed, 23 Nov 2022 06:00:44 +0000 (11:30 +0530)]
Fix some clippies..

3 years agoFix wasm
rajarshimaitra [Sun, 20 Nov 2022 13:35:47 +0000 (19:05 +0530)]
Fix wasm

3 years agoUpdate cargo lock.
rajarshimaitra [Sun, 30 Oct 2022 12:34:36 +0000 (18:04 +0530)]
Update cargo lock.

3 years agoReverse the recipient parsing string
rajarshimaitra [Sun, 30 Oct 2022 12:33:48 +0000 (18:03 +0530)]
Reverse the recipient parsing string

Vector parsing is possible with multiple flags.

3 years agoRemove vector of string from compact_filters options.
rajarshimaitra [Thu, 13 Oct 2022 07:26:38 +0000 (12:56 +0530)]
Remove vector of string from compact_filters options.

3 years agoUpdate wasm build to 1.57 in CI
rajarshimaitra [Thu, 13 Oct 2022 07:26:11 +0000 (12:56 +0530)]
Update wasm build to 1.57 in CI

3 years agoupdate MSRV to 1.57
rajarshimaitra [Tue, 11 Oct 2022 10:21:16 +0000 (15:51 +0530)]
update MSRV to 1.57

3 years agoUpdate Cargo lock
rajarshimaitra [Sun, 2 Oct 2022 13:57:19 +0000 (19:27 +0530)]
Update Cargo lock

3 years agoUpdate recipient parsing in handlers.
rajarshimaitra [Sun, 2 Oct 2022 13:55:18 +0000 (19:25 +0530)]
Update recipient parsing in handlers.

Clap doesn't support custom vector parsing. Not so ideal work around is
to handle recipient parsing in create_tx handler at run time.

3 years agoMove from structopt to clap
rajarshimaitra [Sun, 2 Oct 2022 13:52:45 +0000 (19:22 +0530)]
Move from structopt to clap

This commit include changes to move from structopt to clap.
This includes:
 - Update Cargo.toml.
 - Update commands from structopt to clap.
 - Some auxiliary fixes in commands.
 - Updates main.

3 years agoMerge bitcoindevkit/bdk-cli#129: Bump bdk version to 0.24.0
Steve Myers [Tue, 15 Nov 2022 19:05:24 +0000 (13:05 -0600)]
Merge bitcoindevkit/bdk-cli#129: Bump bdk version to 0.24.0

b66773879307a5bebd8578f37a862c99d297262b Bump bdk-reserves version to 0.24 (Steve Myers)
b21fb4bcfae25718e09e02968020ce97149f563a Fix wasm compiler descriptor translate_pk (Steve Myers)
b1b2a2aa78a1846afeb26214f9db36b815a04f87 Bump bdk version to 0.24.0 (Steve Myers)

Pull request description:

  ### Description

  Update BDK to the latest version, 0.24.0.

  ### Notes to the reviewers

  I also had to add `base64` as a new dependency because it's not exported by `bdk`.

  There's probably a more elegant way to fix the `wasm.rs` compiler function for descriptor.translate_pk, and I don't
  know how create a unit test it since it only runs on wasm32. But at least it builds so I think that's close enough for now.

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  rajarshimaitra:
    tACK b66773879307a5bebd8578f37a862c99d297262b

Tree-SHA512: f68e6302c882a0080baa7c670bbf76e735ae3b315c47568f1b643dec1d929c161925bf4e1eaa321e8cb3e186e77a31a4576391aeebcc8823e0b04b42bcea7fc8

3 years agoBump bdk-reserves version to 0.24
Steve Myers [Fri, 11 Nov 2022 20:07:07 +0000 (14:07 -0600)]
Bump bdk-reserves version to 0.24

3 years agoFix wasm compiler descriptor translate_pk
Steve Myers [Sat, 5 Nov 2022 16:59:10 +0000 (11:59 -0500)]
Fix wasm compiler descriptor translate_pk

3 years agoBump bdk version to 0.24.0
Steve Myers [Wed, 2 Nov 2022 19:54:46 +0000 (14:54 -0500)]
Bump bdk version to 0.24.0

3 years agoMerge bitcoindevkit/bdk-cli#123: Update bdk version to 0.23.0
rajarshimaitra [Tue, 25 Oct 2022 10:24:04 +0000 (15:54 +0530)]
Merge bitcoindevkit/bdk-cli#123: Update bdk version to 0.23.0

536f65fd8efca21886bf817e845f322896a5cc6c Update bdk version to 0.23.0 (rajarshimaitra)

Pull request description:

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

  ### Description

  Candidate PR for bdk version update..

  ### Notes to the reviewers

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    utACK 536f65fd8efca21886bf817e845f322896a5cc6c

Tree-SHA512: b53635781b7fa20a7ddbcc35e184b9224e3a9c07931b5ee3a3283938c472971201b2afc1e4f0d1ff4f1ef32189db3558dd05fe9ea3b704c02b7f7d04ac2f4839

3 years agoUpdate bdk version to 0.23.0
rajarshimaitra [Fri, 30 Sep 2022 04:18:21 +0000 (09:48 +0530)]
Update bdk version to 0.23.0

3 years agoBump version to 0.6.0 github/release/0.6 v0.6.0
Steve Myers [Tue, 27 Sep 2022 21:50:59 +0000 (16:50 -0500)]
Bump version to 0.6.0

3 years agoMerge bitcoindevkit/bdk-cli#117: Update bdk cli for wasm
rajarshimaitra [Mon, 26 Sep 2022 15:04:33 +0000 (20:34 +0530)]
Merge bitcoindevkit/bdk-cli#117: Update bdk cli for wasm

731dc74719c8988e5d22358601fed5e10ee4c6ea Add wasm build in CI (Daniela Brozzoni)
b3469b4120a08c26dec89044f792aac7a2ef26c8 Add wasm support (Daniela Brozzoni)

Pull request description:

  ### Description

  This PR adds a module to bdk-cli that exposes some structures/functions to WASM. You can see it in use here: https://github.com/bitcoindevkit/bitcoindevkit.org/pull/118

  ### Notes to the reviewers

  Based on #116

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature
  * [x] I've updated `CHANGELOG.md`

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  rajarshimaitra:
    ACK 731dc74719c8988e5d22358601fed5e10ee4c6ea

Tree-SHA512: 69011ab6cb421f7e6f7dd000f9eaf5581428b2288358e31ffaec4425996951443fa2fc79f99db7de9c030d6a3fda57d25eee11564cf2fab9c745da593324f763

3 years agoAdd wasm build in CI
Daniela Brozzoni [Tue, 20 Sep 2022 15:35:47 +0000 (17:35 +0200)]
Add wasm build in CI

3 years agoMerge bitcoindevkit/bdk-cli#116: Create wallet dir only when necessary
Steve Myers [Fri, 23 Sep 2022 19:22:33 +0000 (14:22 -0500)]
Merge bitcoindevkit/bdk-cli#116: Create wallet dir only when necessary

bff2d375a1dc811b96e0ce47b21ab8ebb17f1d23 `open_database` avoids creating a wallet dir if... ...not necessary (Daniela Brozzoni)

Pull request description:

  ### Description

  Making sure to create the wallet dir only when necessary (database is either sqlite or key-value)

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

  #### New Features:

  * [ ] I've added tests for the new feature
  * [ ] I've added docs for the new feature
  * [ ] I've updated `CHANGELOG.md`

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  rajarshimaitra:
    tACK bff2d375a1dc811b96e0ce47b21ab8ebb17f1d23

Tree-SHA512: ee019830269f5d8332043ef8de750930883eed1791c867da048bd72c945dc576f74e5178b6c0a27737b0035208f7c862cf44c90321dd2bf6f74900fab08e113b

3 years agoAdd wasm support
Daniela Brozzoni [Mon, 5 Sep 2022 13:25:53 +0000 (15:25 +0200)]
Add wasm support

Add a module "wasm" with utilities to be used in the bdk playground:
- A WasmWallet structure, to create a wallet and run commands
- A compile function, to compile policies into descriptors

3 years agoMerge bitcoindevkit/bdk-cli#105: Add add_data enables op_return for bdk-cli
rajarshimaitra [Thu, 22 Sep 2022 05:29:47 +0000 (10:59 +0530)]
Merge bitcoindevkit/bdk-cli#105: Add add_data enables op_return for bdk-cli

86b557972de9833105fbddefbaf1082cab4499f0 Add add_data enables op_return for bdk-cli (Pedro Felix)

Pull request description:

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

  ### Description
  This enables users to send an arbitrary string message through a txn-output. The maximum size of this string-literal can be length of 80-bytes.
  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->

  ### Notes to the reviewers

  <!-- In this section you can include notes directed to the reviewers, like explaining why some parts
  of the PR were done in a specific way -->

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/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
  * [x] I've updated `CHANGELOG.md`

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  notmandatory:
    ACK 86b557972de9833105fbddefbaf1082cab4499f0
  rajarshimaitra:
    tACK 86b557972de9833105fbddefbaf1082cab4499f0

Tree-SHA512: 53376da1489a7479f95971e7ec6ab6d011652552a865e9d76e9e055b16a1780e7b8ea4ff7e36845252fdf968b80875a81dce54b6f826ca0ddf8cd84b167278c4

3 years agoAdd add_data enables op_return for bdk-cli
Pedro Felix [Wed, 21 Sep 2022 16:56:08 +0000 (09:56 -0700)]
Add add_data enables op_return for bdk-cli

3 years ago`open_database` avoids creating a wallet dir if...
Daniela Brozzoni [Tue, 30 Aug 2022 15:22:12 +0000 (17:22 +0200)]
`open_database` avoids creating a wallet dir if...
...not necessary

This is useful for the wasm integration, where we want to call the
`open_database` function directly, without wanting it to create any
directories.
Note that when using bdk-cli normally, it won't create a db directory
if it's useless, but it will still create a base directory (even if
empty). This is suboptimal, but fixing it would require a quite big
refactor to the code.

3 years agoMerge bitcoindevkit/bdk-cli#104: Update crate documentation
rajarshimaitra [Tue, 20 Sep 2022 09:40:00 +0000 (15:10 +0530)]
Merge bitcoindevkit/bdk-cli#104: Update crate documentation

f8a5999289fd0c648b6c18b7f0011339ecaa736d Minor grammar and puctuation fixes (Steve Myers)
e7b6854a67a2419b653a85c04373cbe36f29f62f Update with Readme fixes (rajarshimaitra)
52e8c61392ebbf7895c7da2f5b652972ff4171ed Add all `possible_values` to network command option (Leonardo Lima)
179618ccab40902fbaf2f6710d7ba4307ee2a211 Update crate documentation (rajarshimaitra)

Pull request description:

  ### Description

  After #99 the previous documentation have been removed and new docs as per `structopts` documentation. This PR adds more documentation across the crate..

  This PR is above #102 , to accommodate all the further refactoring changes.

  The Readme About section have been updated with more details.. Readme format made aligned with the BDK project itself..

  The Readme file is used itself as the crate level documentation in docs.rs too..

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
  * [x] I ran `cargo fmt` and `cargo clippy` before committing

ACKs for top commit:
  notmandatory:
    ACK f8a5999289fd0c648b6c18b7f0011339ecaa736d

Tree-SHA512: 26c5b3903b0215aa9841c4d1079bbdeb9f9d9d458c7e27dddb625db24eb364b73ca978bb2018f486215878f3601b5572ca58d5c202cb74325c992f3e7107d850

3 years agoMinor grammar and puctuation fixes
Steve Myers [Mon, 19 Sep 2022 21:51:56 +0000 (16:51 -0500)]
Minor grammar and puctuation fixes

3 years agoUpdate with Readme fixes
rajarshimaitra [Sun, 7 Aug 2022 05:22:22 +0000 (10:52 +0530)]
Update with Readme fixes

3 years agoAdd all `possible_values` to network command option
Leonardo Lima [Mon, 1 Aug 2022 23:01:26 +0000 (20:01 -0300)]
Add all `possible_values` to network command option

3 years agoUpdate crate documentation
rajarshimaitra [Mon, 27 Jun 2022 19:27:59 +0000 (00:57 +0530)]
Update crate documentation

3 years agoMerge bitcoindevkit/bdk-cli#102: Satoshi's Calculator.
Steve Myers [Sat, 10 Sep 2022 18:21:58 +0000 (13:21 -0500)]
Merge bitcoindevkit/bdk-cli#102: Satoshi's Calculator.

fa0454e9728ceea5bdbffb9ed0e51a32db7c74ab Create node backend once in repl mode (Steve Myers)
322f6f1a5506cb81809615ae98c82b2065b2c30f Update changelog (rajarshimaitra)
0ce84260d742e3fd28b47a6f00cccc16fdc7dfc3 Simplify main (rajarshimaitra)
4906764bb25973c95706d795097df55f60be0afd Add the integration test framework (rajarshimaitra)
b596c9f154224eed494db2162178ec14a2149937 Update utility (rajarshimaitra)
aa6a687c904eac52202e4d3fbdd1fe4e6954bacd Update nodes.rs (rajarshimaitra)
0eb2dc8a1dc31b3d0f2758ad64fd131f53ba1571 Update handlers (rajarshimaitra)
0212b48ed1c8432a7af1224840de974d2917790b Update commands (rajarshimaitra)
992915b6cab7e62eca80b42c1e374f3fbaa0e4af update cargo.toml (rajarshimaitra)

Pull request description:

  ### Description

  fixes #62
  fixes #76

  On the name :
  If Bitcoin wallet devs had to have a "calculator", this is what it might look like. One single interface to do all wallet and node operations.

  This PR does the following
   - Update electrsd to latest version. We need this to use it for out auto deployed backends.
   - Add the remaining codes to `nodes.rs` module to define basic node operation apis on the `Nodes` enum.
   - Add a new `node` command in ` CliSubCommand` which has its own subcommand `NodeSubCommand`, These subcommands are essentially `bitcoin-cli` calls. And only the basic ones are included so far. We can also compose multiple `bitcoin-cli` calls to create our own commands in future.
   - Update the `handlers` to handle newly added `NodeSubCommands`.
   - Update in `utils` :
     - This includes handling auto blockchain client creation for `regtest-*` features.
     -  update on the directory creation workflow. We are creating many directories for many stuffs, and I was trying to figure out the easiest way to keep the whole datadir struct intact, no matter where the user points its `datadir` to. Note that now `datadir` is a global app option, not just available for `regtest` nodes. Default `datadir` is the previous `~/.bdk-bitcoin`.
     - Finally add an integration test in `tests/integration.rs` that runs a basic wallet operation with a bdk-cli wallet connected to auto deployed regtest-bitcoin/electrum.

  ### Notes to the reviewers

  @sandipndev @krtk6160. I feel this PR is now ready to try out #87 .

  Also looking for more integration test ideas too add into.

  basic `node` usage looks like this
  ```
  $ ./target/debug/bdk-cli node --help
  bdk-cli-node 0.5.0
  Regtest Node mode

  USAGE:
      bdk-cli node <SUBCOMMAND>

  FLAGS:
      -h, --help
              Prints help information

      -V, --version
              Prints version information

  SUBCOMMANDS:
      generate         Generate blocks
      getbalance       Get Wallet balance
      getinfo          Get info
      getnewaddress    Get new address from node's test wallet
      help             Prints this message or the help of the given subcommand(s)
      sendtoaddress    Send to an external wallet address
  ```
  The biggest benefit is I think in the `repl` mode. That now kinda becomes an integrated tool the like python interpreter to operate a bdk-cli and a bitcoin backend from one single interface.

  I am excited to see what kind of demonstrations with bdk-cli we can create with this..

  ### Checklists

  #### All Submissions:

  * [x] I've signed all my commits
  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/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
  * [x] I've updated `CHANGELOG.md`

ACKs for top commit:
  notmandatory:
    tACK fa0454e9728ceea5bdbffb9ed0e51a32db7c74ab

Tree-SHA512: 919abcee8291d5181c77cc1e53c630d013504861a5325ddf1d9fc8269db45afa91298852902dffafd576c19eae74e62f675ccba625055b6464c6d73a76a29913

3 years agoCreate node backend once in repl mode
Steve Myers [Sat, 10 Sep 2022 02:50:02 +0000 (21:50 -0500)]
Create node backend once in repl mode

3 years agoUpdate changelog
rajarshimaitra [Fri, 9 Sep 2022 15:33:02 +0000 (21:03 +0530)]
Update changelog

3 years agoSimplify main
rajarshimaitra [Fri, 9 Sep 2022 08:01:03 +0000 (13:31 +0530)]
Simplify main

3 years agoAdd the integration test framework
rajarshimaitra [Fri, 9 Sep 2022 08:00:41 +0000 (13:30 +0530)]
Add the integration test framework

3 years agoUpdate utility
rajarshimaitra [Fri, 9 Sep 2022 08:00:15 +0000 (13:30 +0530)]
Update utility

Various fixes and moves in utility module