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

3 years agoUpdate MSRV to 1.56.0, Stable to 1.60.0 github/release/0.5 v0.5.0
Steve Myers [Tue, 24 May 2022 15:54:51 +0000 (08:54 -0700)]
Update MSRV to 1.56.0, Stable to 1.60.0

3 years agoRemove 'sqlite-db' feature, cargo update
Steve Myers [Tue, 24 May 2022 15:33:42 +0000 (08:33 -0700)]
Remove 'sqlite-db' feature, cargo update

3 years agoMerge bitcoindevkit/bdk-cli#90: Disable regex tests when repl feature not enabled
Steve Myers [Tue, 17 May 2022 18:19:02 +0000 (11:19 -0700)]
Merge bitcoindevkit/bdk-cli#90: Disable regex tests when repl feature not enabled

953c097871d34d2606d55294313b1addc579dfa4 Disable regex tests when repl feature not enabled (Steve Myers)

Pull request description:

  ### Description

  I noticed that when I disable default features and don't enable the `repl` feature that the regex tests fail because they need the regex dependency that the `repl` feature brings in. This PR is to simply disable the regex related test code if the `repl` feature isn't enabled.

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

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

Tree-SHA512: b4aa8ecfc077bd06a578f5f8df054aff4dda496e7afd0c4f1d385aa1e5a5e2d452f8cf49fcc902abf2463a13ea0b99b38671262ea296c9a40243219731d0caa4

3 years agoDisable regex tests when repl feature not enabled
Steve Myers [Wed, 11 May 2022 17:12:51 +0000 (10:12 -0700)]
Disable regex tests when repl feature not enabled

3 years agoMerge bitcoindevkit/bdk-cli#71: Add key-value-db and sqlite-db features, separate...
Steve Myers [Wed, 11 May 2022 17:04:38 +0000 (10:04 -0700)]
Merge bitcoindevkit/bdk-cli#71: Add key-value-db and sqlite-db features, separate wallet directories

00454be42be22907d4d9c959483e79dc662de71c Update CHANGELOG with new db features and wallet data directories (Steve Myers)
14106ebdde145be0e5d88bbba8f87653c2558efb Prevent building with more than one database feature enabled (Steve Myers)
fac465ed9f141c73ea876319064782be90d3a37d Fix clippy warning (Steve Myers)
d7471f69b3affc2ddbb0b24e3c28bc4fe01354f8 Add key-value-db and sqlite-db features, separate wallet directories (Steve Myers)

Pull request description:

  ### Description

  - Add distinct `key-value-db` and `sqlite-db` features, keep default as `key-value-db`

  - Put cached wallet data in separate directories: `~/.bdk-bitcoin/<wallet_name>`
  - Put compact filter data in `<wallet_name>/compact_filters`
  - Depending on the db used put cached wallet data in: `<wallet_name>/wallet.sled/` or `<wallet_name>/wallet.sqlite`

  ### Notes to the reviewers

  This change will help test BDK with different databases, in particular for manually testing DB migrations such as in https://github.com/bitcoindevkit/bdk/pull/502.

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

Top commit has no ACKs.

Tree-SHA512: a2610448295b39674706ab48f36e4ccb92f7065489bca2b7e0be81a6bbc063844ce7ea3728bd1fffde97938a8ef84234ba5a6cee56aa0deca267bbd671ae692a

3 years agoMerge bitcoindevkit/bdk-cli#89: updating bdk and bdk-reserves to v0.18
Steve Myers [Wed, 11 May 2022 16:59:59 +0000 (09:59 -0700)]
Merge bitcoindevkit/bdk-cli#89: updating bdk and bdk-reserves to v0.18

bcf51c4d9b550d6c529c639cc0ee7d8f9b710df3 updating bdk and bdk-reserves to v0.18 (Richard Ulrich)

Pull request description:

  ### Description

  updating bdk and bdk-reserves to v0.18

  ### 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:
    ACK bcf51c4d9b550d6c529c639cc0ee7d8f9b710df3

Tree-SHA512: 6d0e8a15af9ccdae66af4f39a531c432c85b735b604271c28fa51bbe7a645cd91ce8d223fa65afdd5663c19098faa80aeb9ab07e00bd65e37dfb8b28e877a307

3 years agoupdating bdk and bdk-reserves to v0.18
Richard Ulrich [Mon, 9 May 2022 09:10:02 +0000 (11:10 +0200)]
updating bdk and bdk-reserves to v0.18

3 years agoUpdate CHANGELOG with new db features and wallet data directories
Steve Myers [Sun, 20 Feb 2022 00:14:42 +0000 (16:14 -0800)]
Update CHANGELOG with new db features and wallet data directories

3 years agoPrevent building with more than one database feature enabled
Steve Myers [Sun, 20 Feb 2022 00:08:08 +0000 (16:08 -0800)]
Prevent building with more than one database feature enabled

3 years agoFix clippy warning
Steve Myers [Sat, 19 Feb 2022 03:34:20 +0000 (19:34 -0800)]
Fix clippy warning

3 years agoAdd key-value-db and sqlite-db features, separate wallet directories
Steve Myers [Fri, 18 Feb 2022 20:57:14 +0000 (12:57 -0800)]
Add key-value-db and sqlite-db features, separate wallet directories

3 years agoMerge bitcoindevkit/bdk-cli#86: Update miniscript version to 6.1.0
Steve Myers [Fri, 6 May 2022 18:03:10 +0000 (11:03 -0700)]
Merge bitcoindevkit/bdk-cli#86: Update miniscript version to 6.1.0

e2743d1156fb69ba4e0279246039bb7ae3989d5e Update miniscript version to 6.1.0 (Steve Myers)

Pull request description:

  ### Description

  Did a `cargo update` to update `miniscript` dependency in Cargo.lock to `6.1.0` and fix related audit issue.

  ```text
  Crate:         miniscript
  Version:       6.0.1
  Warning:       yanked
  Dependency tree:
  miniscript 6.0.1
  └── bdk 0.17.0
      ├── bdk-reserves 0.17.0
      │   └── bdk-cli 0.5.0
      └── bdk-cli 0.5.0
  ```

  ### Notes to the reviewers

  There is still one audit issue that I can't figure out how to fix, I created #85 to track it.

  ### 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:
  rajarshimaitra:
    tACK e2743d1156fb69ba4e0279246039bb7ae3989d5e

Tree-SHA512: 0fd9bc7a29faef4477b011d9a9a882f74e7ba70a89b7634742785ebec1933a381d766772922a7c5c76c0460e2c2882c5cc23ff1c66a4edb7d315bcf4890a86ae

3 years agoUpdate miniscript version to 6.1.0
Steve Myers [Thu, 28 Apr 2022 01:57:18 +0000 (18:57 -0700)]
Update miniscript version to 6.1.0

3 years agoMerge bitcoindevkit/bdk-cli#77: Fetch address index in verbose mode for get_new_address
Steve Myers [Thu, 28 Apr 2022 01:53:03 +0000 (18:53 -0700)]
Merge bitcoindevkit/bdk-cli#77: Fetch address index in verbose mode for get_new_address

73a9824b79d75d9e394cdbb8f9c9ab00e3bca788 Fetch address index in verbose mode for get_new_address (rajarshimaitra)

Pull request description:

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

  ### Description

  Fixes #40

  cc @thunderbiscuit

  ### 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:
  thunderbiscuit:
    tested ACK [73a9824](https://github.com/bitcoindevkit/bdk-cli/pull/77/commits/73a9824b79d75d9e394cdbb8f9c9ab00e3bca788).
  notmandatory:
    ACK 73a9824b79d75d9e394cdbb8f9c9ab00e3bca788

Tree-SHA512: 643898e312061d6c405ee7a1065987a1c308fb4ae18ed52f3945e2411dd4001c951322fcc2f12fcb195e939e14df26703f8ae97b793aa8955de02cf39b2f96b1

3 years agoMerge bitcoindevkit/bdk-cli#65: Auto deploy regtest nodes in background
Steve Myers [Thu, 28 Apr 2022 01:48:08 +0000 (18:48 -0700)]
Merge bitcoindevkit/bdk-cli#65: Auto deploy regtest nodes in background

930b0c48fef484e5b586346ca295358a3d30bb5e Update CHANGELOG (rajarshimaitra)
cf9f536db4c5ec31dcfd3054e1b01a8f6907f9ea Add CI build for new features (rajarshimaitra)
58a624b97f66f6d82b562f17661f66ff16dd95e7 Add auto backend deployment (rajarshimaitra)

Pull request description:

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

  ### Description

  Fixes https://github.com/bitcoindevkit/bdk-cli/issues/55. I decided to go for one feature flag for each backends as they made dependency management easier. Because different backend will have different dependency, and we don't wanna have redundant ones. Also it makes the commands a little shorter.

  ### Notes to the reviewers

  Right now its not that useful because the backend APIs are not exposed. So I can't really do much other than sync/send in the command line. (unlike testnet we cannot send coins to bdk from outside of local regtest node). So to make it useful in repl mode as described in the issue, we also have to expose the blockchain apis in bdk-cli command in some way (at least the basic stuffs, address, send, generate). Looking for suggestions on this.

  usage looks like this:
  ```
  cargo run --features regtest-rpc -- wallet --descriptor "wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)" sync
  {}
  ```

  Although I am having trouble connecting to the esplora end of electrs. Not sure whats the issue, will have to look more.

  ### 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:
    ACK 930b0c48fef484e5b586346ca295358a3d30bb5e

Tree-SHA512: a308398d30743c049a6c641f1cdcbf0643f11e56323b98a176c86ac237249beb2ac22b2802dd14fda7874a2079aaf25cacf60d082fd57109d6a41cff359b0145

3 years agoUpdate CHANGELOG
rajarshimaitra [Sun, 9 Jan 2022 17:33:07 +0000 (23:03 +0530)]
Update CHANGELOG

3 years agoAdd CI build for new features
rajarshimaitra [Sun, 9 Jan 2022 17:32:40 +0000 (23:02 +0530)]
Add CI build for new features

3 years agoAdd auto backend deployment
rajarshimaitra [Sun, 9 Jan 2022 17:29:46 +0000 (22:59 +0530)]
Add auto backend deployment

This adds bitcoind and electrsd deployment and management for each kind
of feature flags. The wallet then gets connected to the backend. All the
backend related args for bdk-cli can be omitted in regtest-* mode.

3 years agoMerge bitcoindevkit/bdk-cli#73: Update to bdk 0.17.0
Steve Myers [Fri, 1 Apr 2022 16:34:06 +0000 (09:34 -0700)]
Merge bitcoindevkit/bdk-cli#73: Update to bdk 0.17.0

42f18810b0cb6a082a0649dc4a7eb48679a7a10c Minor cleanup (Steve Myers)
14cbbd147d57855fda5721fe6a66f089a6cf2444 Update bdk-reserves to 0.17 and re-enable ci tests (Steve Myers)
7becf6f8fbac3d5320946582788beae018b6ef6b Fix tests (Steve Myers)
ac8cb347e7a8e6a760c586a0d6f6dcf26d78b8fe Update changelog (Steve Myers)
735be18b33c59ba6a242ab56b65ac2e7e0cc398c Update sync and broadcast sub-commands for bdk 0.17 (Steve Myers)
36aec33f3a0ffc1bbe177dc4927b39320a2d4f34 Update Cargo.lock (Steve Myers)
174b56aa6434ed6f673fb22b634168d913d830df Add verify feature (Steve Myers)
2f843fd317cb580a4edc7a9c99f0b2ffeca5ac66 Bump version to 0.5.0 (Steve Myers)
8afc11588751ca0c89d704e685c821fb1d045ee6 Update bdk version to 0.17 (Steve Myers)
c1c650374db7ef4de06e47723a55b0656c0e82ed [WIP] Update to bdk 0.17.0 (Steve Myers)

Pull request description:

  ### Description

  Fixes #81

  ### Notes to the reviewers

  Also added `verify` feature flag which enables transaction verification against consensus rules during sync.

  I also had to disable the `reserves` tests and that feature will be broken until we can get it updated to use `bdk` `0.17` also.  I created an issue https://github.com/weareseba/bdk-reserves/issues/4.

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

Top commit has no ACKs.

Tree-SHA512: 081f795122596e21b196955292bd701ce3097fb3e94e18b1775232b2097c614b955cd1452694542d5a42374a470efdbb3d09043ab22c7b28f5203874bed53b67

3 years agoMinor cleanup
Steve Myers [Fri, 1 Apr 2022 16:14:28 +0000 (09:14 -0700)]
Minor cleanup

3 years agoUpdate bdk-reserves to 0.17 and re-enable ci tests
Steve Myers [Fri, 1 Apr 2022 03:36:14 +0000 (20:36 -0700)]
Update bdk-reserves to 0.17 and re-enable ci tests

3 years agoFix tests
Steve Myers [Wed, 30 Mar 2022 00:43:44 +0000 (17:43 -0700)]
Fix tests

3 years agoUpdate changelog
Steve Myers [Wed, 30 Mar 2022 00:22:20 +0000 (17:22 -0700)]
Update changelog

3 years agoUpdate sync and broadcast sub-commands for bdk 0.17
Steve Myers [Wed, 30 Mar 2022 00:17:43 +0000 (17:17 -0700)]
Update sync and broadcast sub-commands for bdk 0.17

3 years agoUpdate Cargo.lock
Steve Myers [Wed, 30 Mar 2022 00:11:11 +0000 (17:11 -0700)]
Update Cargo.lock

3 years agoAdd verify feature
Steve Myers [Tue, 29 Mar 2022 22:54:24 +0000 (15:54 -0700)]
Add verify feature

3 years agoBump version to 0.5.0
Steve Myers [Tue, 29 Mar 2022 22:53:47 +0000 (15:53 -0700)]
Bump version to 0.5.0

3 years agoUpdate bdk version to 0.17
Steve Myers [Tue, 29 Mar 2022 22:53:22 +0000 (15:53 -0700)]
Update bdk version to 0.17

3 years ago[WIP] Update to bdk 0.17.0
Steve Myers [Fri, 4 Mar 2022 04:09:50 +0000 (20:09 -0800)]
[WIP] Update to bdk 0.17.0

3 years agoMerge bitcoindevkit/bdk-cli#82: [bug fix] Add `maybe_descriptor_wallet_name()` in...
Steve Myers [Tue, 29 Mar 2022 22:14:59 +0000 (15:14 -0700)]
Merge bitcoindevkit/bdk-cli#82: [bug fix] Add `maybe_descriptor_wallet_name()` in repl mode

fd3f2b4c1188abb0a70946ec651bfb9c03220857 Fix repl error and help printing (Steve Myers)
e4eda39e01063c506cd1ad43be1294f360c7bdb9 Add `maybe_descriptor_wallet_name()` is repl mode (rajarshimaitra)

Pull request description:

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

  ### Description

  Because we didn't had `maybe_descriptor_wallet_name()` in repl, the following command would fail
  ```
  $ ./target/debug/bdk-cli repl -d "wpkh([b8b575c2/84'/1'/0'/0]tprv8icWtRzy9CWgFxpGMLSdAeE4wWyz39XGc6SwykeTo13tYm14JkVVQAf7jz8WDDarCgNJrG3aEPJEqchDWeJdiaWpS3FwbLB9SzsN57V7qxB/*)"
  thread 'main' panicked at 'We should always have a wallet name at this point', src/bdk_cli.rs:116:10
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  ```

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

Tree-SHA512: 80008f089b882b5139ea127b734e38553877a8b0688e123f0f3f25a2f01a74a0ce1d842df00b55148a3825eba552cf8e9ff4cbf96b4275176494884b24814203

3 years agoFix repl error and help printing
Steve Myers [Tue, 29 Mar 2022 21:11:33 +0000 (14:11 -0700)]
Fix repl error and help printing

3 years agoAdd `maybe_descriptor_wallet_name()` is repl mode
rajarshimaitra [Fri, 25 Mar 2022 14:16:22 +0000 (19:46 +0530)]
Add `maybe_descriptor_wallet_name()` is repl mode

3 years agoMerge bitcoindevkit/bdk-cli#80: Re-licensing to dual MIT and Apache 2.0 and update...
Steve Myers [Mon, 21 Mar 2022 19:48:47 +0000 (14:48 -0500)]
Merge bitcoindevkit/bdk-cli#80: Re-licensing to dual MIT and Apache 2.0 and update project name

0363f9efe2a647500b99b1069cf1e465f9bb0064 Re-license to dual MIT and Apache 2.0 and update project name to "Bitcoin Dev Kit" (Steve Myers)

Pull request description:

  ### Description

  Re-licensing repo to dual MIT and Apache 2.0 and updating project name to "Bitcoin Dev Kit".  I want to do this now before we get too many new contributors. Also because this project is being proposed for use in a commercial project so I want to clarify it is broadly licensed as is the rest of BDK.

  This issue is based on https://github.com/bitcoindevkit/bdk/issues/301.

  ### Notes to the reviewers

  If you're on the below list and agree with this change please add a comment with "I hereby license my previous contributions to Bitcoin Dev Kit under Apache 2.0 and MIT licenses."

  - [x] @notmandatory 96 Steve Myers <steve@notmandatory.org>
  - [x] @afilini 68  Alekos Filini <alekos.filini@gmail.com>
  - [x] @rajarshimaitra 33  rajarshimaitra <rajarshi149@gmail.com>
  - [x] @RCasatta 13  Riccardo Casatta <riccardo@casatta.it>
  - [ ] @I5hi 8 Vishal Menon <vishalmenon.92@gmail.com>
  - [ ] @LLFourn 6  LLFourn <lloyd.fourn@gmail.com>
  - [x] @ulrichard 5 Richard Ulrich <richi@paraeasy.ch>
  - [x] @sandipndev 4 Sandipan Dey <hey@sandipan.dev>
  - [ ] @DarthBenro008 3 DarthBenro008 <hkpdev008@gmail.com>
  - [x] @eupn 3 Evgen ii P <eupn@protonmail.com>
  - [x] @thunderbiscuit 3 thunderbiscuit <thunderbiscuit@protonmail.com>
  - [x] @willcl-ark 1  willcl-ark <will8clark@gmail.com>
  - [x] @dspicher 1  Dominik Spicher <dominik.spicher@inacta.ch>

  ### 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 updated `CHANGELOG.md`

Top commit has no ACKs.

Tree-SHA512: 9eb4b469c6d1095e7ba793b4c2472a30203decfe6a3bfa836f2cc0928eaf767f8fd842a0aab5026d9cd6b9553418aa00f203ced5146ade0a48e980a3ba0b2469

3 years agoRe-license to dual MIT and Apache 2.0 and update project name to "Bitcoin Dev Kit"
Steve Myers [Mon, 14 Mar 2022 15:25:06 +0000 (10:25 -0500)]
Re-license to dual MIT and Apache 2.0 and update project name to "Bitcoin Dev Kit"

3 years agoMerge bitcoindevkit/bdk-cli#72: Add resources section to readme
Steve Myers [Mon, 14 Mar 2022 01:19:49 +0000 (20:19 -0500)]
Merge bitcoindevkit/bdk-cli#72: Add resources section to readme

63b472b2db526d2685147b4c885d27ea28855735 Add episode on the Bitcoin Developers Show to resources (thunderbiscuit)
8d9fdbdd3004a2852308af9f476e6e0736c065a1 Add resources section to readme (thunderbiscuit)

Pull request description:

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

  ### Description
  This PR adds a Resources section with links to resources, currently the docs on the bitcoindevkit.org website and the Tutorial series I made which is on youtube. Once Steve does the show with Conor next week we could add that to the list as well!

  ### Checklists
  * [x] I've signed all my commits

ACKs for top commit:
  rajarshimaitra:
    ReACK https://github.com/bitcoindevkit/bdk-cli/pull/72/commits/63b472b2db526d2685147b4c885d27ea28855735

Tree-SHA512: 321fb99021dc63375b80d8caeebf255bbe03fe07d9afd65d0274a7051b91908525534c65926160601599e2d7081df3f71cae4f78777c3a5414bef650561aa91a

3 years agoAdd episode on the Bitcoin Developers Show to resources
thunderbiscuit [Fri, 11 Mar 2022 16:35:42 +0000 (11:35 -0500)]
Add episode on the Bitcoin Developers Show to resources

3 years agoFetch address index in verbose mode for get_new_address
rajarshimaitra [Wed, 9 Mar 2022 20:24:58 +0000 (01:54 +0530)]
Fetch address index in verbose mode for get_new_address

3 years agoMerge bitcoindevkit/bdk-cli#74: Bump version to 0.4.0 and add tag v0.4.0 for release
Steve Myers [Sat, 5 Mar 2022 23:57:07 +0000 (15:57 -0800)]
Merge bitcoindevkit/bdk-cli#74: Bump version to 0.4.0 and add tag v0.4.0 for release

8b417a302a5dc7fb4bc64a143a138d81ae1d67de Bump version to 0.4.0 (Steve Myers)
dab5d825f1a4496a38222545a4dd3744a9487dc0 Update Cargo.lock (Steve Myers)

Pull request description:

  ### Description

  Bump version to 0.4.0 and add tag v0.4.0 for release.

  ### 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 updated `CHANGELOG.md`

ACKs for top commit:
  rajarshimaitra:
    Review + tACK https://github.com/bitcoindevkit/bdk-cli/pull/74/commits/8b417a302a5dc7fb4bc64a143a138d81ae1d67de

Tree-SHA512: aeb60b2800b6c46aac325747aec053249d01ab80e78d48ef0f579251f9d82dc191ce4bb0f9ff2a968acd151d8482bb494a98c5c8bb889eb2d03f25394e36bcfd

3 years agoBump version to 0.4.0 v0.4.0
Steve Myers [Sat, 5 Mar 2022 02:38:21 +0000 (18:38 -0800)]
Bump version to 0.4.0