]> Untitled Git - bdk-cli/log
bdk-cli
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

3 years agoUpdate nodes.rs
rajarshimaitra [Fri, 9 Sep 2022 07:59:37 +0000 (13:29 +0530)]
Update nodes.rs

Add the backend Node mechanism.

3 years agoUpdate handlers
rajarshimaitra [Fri, 9 Sep 2022 07:57:13 +0000 (13:27 +0530)]
Update handlers

 - Update the handlers to handle node commands
 - Main `handle_command()` function signature changed to only take
   in a `CliOpts`. This is helpful for wasm or any other binding
   produced on bdk-cli.

3 years agoUpdate commands
rajarshimaitra [Fri, 9 Sep 2022 07:55:11 +0000 (13:25 +0530)]
Update commands

- Add a new NodeCommand to handle backend node operation.
- Fix the REPL mode to show commands via category
- Other auxiliary fixes.

3 years agoupdate cargo.toml
rajarshimaitra [Fri, 9 Sep 2022 07:54:01 +0000 (13:24 +0530)]
update cargo.toml

 - Update dependency
 - Disable `regtest-esplora-*` backends for further testing

3 years agoMerge bitcoindevkit/bdk-cli#118: Update bdk dependency to 0.22
Steve Myers [Fri, 9 Sep 2022 15:08:49 +0000 (10:08 -0500)]
Merge bitcoindevkit/bdk-cli#118: Update bdk dependency to 0.22

e8b20287455e7f4fcf87efc8bf74af3f9accbb38 Update bdk dependency to 0.22 (Steve Myers)

Pull request description:

  ### Description

  - Update `bdk` and `bdk-reserves` to v0.22.0.
  - Change rpc `--skip-blocks` option to `--start-time` which specifies time initial sync will start scanning from.

  ### Notes to the reviewers

  I  haven't verified the bits and bytes of the new `reserves` PSBT in the tests. I assume it's different for the same reason as the other tests in `bdk-reserves` when we switched to bdk 0.22, but I could use some help confirming that.

  **This is draft until `bdk` and `bdk-reservers` v0.22 are published.**

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

Tree-SHA512: 2d055ee6f2d347d60211f06cec161a80b6dec267be589b829f22a15e6e07a7529ec2307a4f2f7cb76e0501c39ab9ee8038c0fe4c946549712d0ffe9cdc809cc9

3 years agoUpdate bdk dependency to 0.22
Steve Myers [Mon, 5 Sep 2022 18:31:15 +0000 (13:31 -0500)]
Update bdk dependency to 0.22

3 years agoMerge bitcoindevkit/bdk-cli#115: Use async with esplora-reqwest
Alekos Filini [Fri, 2 Sep 2022 14:50:11 +0000 (16:50 +0200)]
Merge bitcoindevkit/bdk-cli#115: Use async with esplora-reqwest

8d876ef376097e6361d9f8495afb82a3ef03b87b Use async with esplora-reqwest (Daniela Brozzoni)
a9dffc3a6ca1834f11b00cda27d2466423096e41 Remove wrong 'cfg()' (Daniela Brozzoni)

Pull request description:

  ### Description

  We previously had the esplora-reqwest feature, but it would use
  sync reqwest, as the "async-interface" feature in BDK wasn't set.
  This commit sets this feature so that using `esplora-reqwest` always
  uses async mode.

  ### Notes to the reviewers

  ### 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
  * [ ] I've added docs for the new feature
  * [x] I've updated `CHANGELOG.md`

ACKs for top commit:
  afilini:
    reACK 8d876ef376097e6361d9f8495afb82a3ef03b87b

Tree-SHA512: 3e6c8ebc0c9ac772f28a6282b7478b436d519fdd081e98f282c00d520cc2ed400636407be2e4ba9f9203bd7141cc35bdc85430f9689c300f01945b76d411cf68

3 years agoUse async with esplora-reqwest
Daniela Brozzoni [Wed, 24 Aug 2022 22:06:53 +0000 (23:06 +0100)]
Use async with esplora-reqwest

We previously had the esplora-reqwest feature, but it would use
sync reqwest, as the "async-interface" feature in BDK wasn't set.
This commit sets this feature so that using `esplora-reqwest` always
uses async mode.

3 years agoRemove wrong 'cfg()'
Daniela Brozzoni [Wed, 24 Aug 2022 22:04:18 +0000 (23:04 +0100)]
Remove wrong 'cfg()'

maybe_async is used regardless of which feature is activated, so
it shouldn't be behind the cfg()

3 years agoMerge bitcoindevkit/bdk-cli#114: Fix compilation error when using memory database
Steve Myers [Sun, 28 Aug 2022 17:24:35 +0000 (12:24 -0500)]
Merge bitcoindevkit/bdk-cli#114: Fix compilation error when using memory database

faa461d3fc8d20cc033859555017792017e87461 Fix compilation error when using memory database (Daniela Brozzoni)

Pull request description:

  This commit also adds the testing for memory database and key value
  database in CI

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

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

  #### Bugfixes:

  * [ ] This pull request breaks the existing API
  * [x] 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 faa461d3fc8d20cc033859555017792017e87461

Tree-SHA512: 6e841b0e7cc73145a27ba18ff5e02d08cf1c716cf4b12c46831642bbc26a4d3a411905e765a16b22137654e3d6451492ecea9a5c76a4a9949e574d60f7971475

3 years agoFix compilation error when using memory database
Daniela Brozzoni [Wed, 24 Aug 2022 20:40:21 +0000 (21:40 +0100)]
Fix compilation error when using memory database

This commit also adds the testing for memory database and key value
database in CI

3 years agoMerge bitcoindevkit/bdk-cli#99: The Great Reset
Steve Myers [Wed, 6 Jul 2022 05:47:47 +0000 (22:47 -0700)]
Merge bitcoindevkit/bdk-cli#99: The Great Reset

292dd1e6bdc3c5d061d90028934026d4c60aaf24 Fix repl mode command parsing (Steve Myers)
073f1c339be3057bb1d88ef1e925d5fd09611c98 Update with review comments (rajarshimaitra)
4e8f8303df6a4b80be50cc15c9297f2e411bf672 revert author list change (rajarshimaitra)
b09c405327ce8d004d6c96116422322662528829 Remove base64 dependency (rajarshimaitra)
1e70ff911cfde7677b377c21b3c787eb73b4531e Refactor everything (rajarshimaitra)

Pull request description:

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

  ### Description

  This is a massive refactoring PR that changes the whole structure of the crate. Previously it was written like a library
  to be used to create the bdk-cli app. But eventually the crate itself became the app. This PR attempts to remove the remaining
  lib like patterns in the code, and make it a pure binary crate.

  This makes the code more modular and makes it look like a typical binary rust crate.

  There was no real good way to structure the change into separate commits, so I made one single big one.. The best way to review is to look at the final structure of the code itself, not the change set.

  The crate has following modules now
   -  `main` : The main app runtime
   -  `commands`: Includes all the structopt commands used by bdk-cli.
   -  `handlers`: Include all the command handlers used buy the app.
   -  `utils`: Include all the utility and helper functions
   - `Backend` : Defines the backend node process, and its related methods. (This will be filled more with #92).

  Apart from the structure changes there are few other changes that took place
   - Almost all of the previous doc comments are removed. As they were written to use bdk-cli as a lib. Instead new structopts "comments" are added to describe the app functionality better. As a result the app `--help` commands are more elaborate and descriptive now. I have also removed few redundant description messages used before, that would mess up the help comments. And as a by product it solves https://github.com/bitcoindevkit/bdk-cli/issues/93.

   - bdk is updated to v0.19.0

   - bdk-reserves is updated with current version pointing to bdk v0.19.0.

   - Default database is now sqlite.

   Overall I think I managed not to break anything.

   Currently this change will remove most of the previous documentation on the crate. But those aren't useful to context of bdk-cli after this change.. My proposal would be reproduce the README instructions itself in doc.rs landing page.

   We also need to update the README to reflect these changes.. I will open that up in a separate PR.

   I also haven't updated changelog yet.. Not sure yet how to describe the change in short.. Will do that once this is almost finalized..

  ### Notes to the reviewers

  ### 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:
    ACK 292dd1e6bdc3c5d061d90028934026d4c60aaf24

Tree-SHA512: 895d8088bf93a481fd776e2ac5fe85926f13b7b4535f17b9edd3c0363a89dc3689e28c6e13dbcac3970bc00e3ff206f402e94406f3b3688c9e4a7f9d31b20e40

3 years agoFix repl mode command parsing
Steve Myers [Wed, 6 Jul 2022 05:35:31 +0000 (22:35 -0700)]
Fix repl mode command parsing

3 years agoUpdate with review comments
rajarshimaitra [Fri, 1 Jul 2022 11:24:52 +0000 (16:54 +0530)]
Update with review comments

3 years agorevert author list change
rajarshimaitra [Mon, 27 Jun 2022 18:31:23 +0000 (00:01 +0530)]
revert author list change

3 years agoRemove base64 dependency
rajarshimaitra [Mon, 27 Jun 2022 10:08:47 +0000 (15:38 +0530)]
Remove base64 dependency

We don't need base64 because rust-bitcoin already exposes a version of
that crate that we can use. Removing one more parallel dependency.

3 years agoRefactor everything
rajarshimaitra [Wed, 15 Jun 2022 21:58:25 +0000 (03:28 +0530)]
Refactor everything

This PR moves all the components into different module.
Checkout PR description for more details.

3 years agoMerge bitcoindevkit/bdk-cli#100: Remove some of the reserves and regtest features
Steve Myers [Mon, 27 Jun 2022 17:45:36 +0000 (10:45 -0700)]
Merge bitcoindevkit/bdk-cli#100: Remove some of the reserves and regtest features

5b20283f73c2cbb06732fb97cb725dc87673dd44 update CI to remove some features (rajarshimaitra)

Pull request description:

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

  ### Description

  Currently the way `ExternalReserves` functionality is written, it can only be used with `electrum` feature. The tests should fail if the implementation behavior is enforced.. Disabling the tests in CI.

  Also removing the `regtest-esplora` features from the tests, because they won't work when #92 lands.

  ### 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 5b20283f73c2cbb06732fb97cb725dc87673dd44.

Tree-SHA512: 09e875376e2a8b1a43c318b66849abdeb518deee32ca39ba1e10c9b9230b4af61a3391e5a1dcad0586643a820eb66fabfea9d2af95f0d97fe8383524c5e050d9

3 years agoupdate CI to remove some features
rajarshimaitra [Wed, 15 Jun 2022 23:13:00 +0000 (04:43 +0530)]
update CI to remove some features