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

3 years agoUpdate Cargo.lock
Steve Myers [Sat, 5 Mar 2022 02:37:45 +0000 (18:37 -0800)]
Update Cargo.lock

3 years agoAdd resources section to readme
thunderbiscuit [Thu, 3 Mar 2022 17:25:02 +0000 (12:25 -0500)]
Add resources section to readme

3 years agoMerge bitcoindevkit/bdk-cli#68: Add cookie authentication option for rpc
Steve Myers [Sat, 12 Feb 2022 17:33:57 +0000 (09:33 -0800)]
Merge bitcoindevkit/bdk-cli#68: Add cookie authentication option for rpc

1ab2b0ffc780defa913ec9ce2dc021b355c2aeb3 Fix docs test for WalletOpts (Steve Myers)
a9f14a9a4d05d833deee66113319cd6bc8b3f641 Update CHANGELOG (rajarshimaitra)
180fe4748c85dde7668785abf8593c1a34c55238 Add cookie authentication option for rpc (rajarshimaitra)

Pull request description:

  ### Description

  Fixes https://github.com/bitcoindevkit/bdk-cli/issues/67

  This PR adds an optional `cookie` arg to pass on cookie file if user needs to use that instead of basic user:password based authentication.

  bitcoin core will only generate a `.cookie` file if rpc username passwords are not set in `bitcoin.conf`. Thus cookie file doesn't have a default. User should only provide it if they know a cookie file exists, or else "File not found" error is returned.

  ### 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:
    ACK 1ab2b0ffc780defa913ec9ce2dc021b355c2aeb3

Tree-SHA512: 164f8c65582028efa36035f5a442b7d1678a19ef74196286f29e10dad79cb3495fe1b3ac46207eca55115d6a7744e94ddf333238b1933bc7586df049062b670b

3 years agoFix docs test for WalletOpts
Steve Myers [Sat, 12 Feb 2022 17:21:53 +0000 (09:21 -0800)]
Fix docs test for WalletOpts

3 years agoUpdate CHANGELOG
rajarshimaitra [Sat, 8 Jan 2022 18:40:04 +0000 (00:10 +0530)]
Update CHANGELOG

3 years agoAdd cookie authentication option for rpc
rajarshimaitra [Sat, 8 Jan 2022 18:33:12 +0000 (00:03 +0530)]
Add cookie authentication option for rpc

3 years agoMerge bitcoindevkit/bdk-cli#69: Fix repl and wallet help docs
Steve Myers [Sat, 12 Feb 2022 06:23:42 +0000 (22:23 -0800)]
Merge bitcoindevkit/bdk-cli#69: Fix repl and wallet help docs

3f9b89275b0fce9ceaa3b113e3832d5e28f7d688 Pin fd-lock version to 3.0.2 (Steve Myers)
4a02a9f3838fedac832bc73d19d086abfb881688 Manual docs formatting fix (Steve Myers)
c82fd90f0b7eaaec60ffe0cf686a4bf11ab9707d Update Cargo.lock (Steve Myers)
81652b19d1d9d36964dc2ac22831950b02897338 Fix repl and wallet help docs (Steve Myers)

Pull request description:

  ### Description

  This fixes the help docs for the `repl` and `wallet` subcommands. The `repl` subcommand was showing the proxy options docs instead, and the `wallet` subcommand was showing the description from the `WalletSubCommand` enum.

  This is a workaround for `structopt` issue #333, #391, #418; see https://github.com/TeXitoi/structopt/issues/333#issuecomment-712265332

  ### Notes to the reviewers

  Before this PR this was showing:
  ```shell
  $ cargo run --features esplora-ureq,compiler -- --help
  ...
  SUBCOMMANDS:
      compile    Compile a miniscript policy to an output descriptor
      help       Prints this message or the help of the given subcommand(s)
      key        Key management sub-commands
      repl       Proxy Server options
      wallet     Wallet sub-commands
  ```

  After this PR we get:
  ```shell
  $ cargo run --features esplora-ureq,compiler -- --help
  ...
  SUBCOMMANDS:
      compile    Compile a miniscript policy to an output descriptor
      help       Prints this message or the help of the given subcommand(s)
      key        Key management sub-commands
      repl       Enter REPL command loop mode
      wallet     Wallet options and sub-commands
  ```

  ### 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
  * [ ] I've added tests to reproduce the issue which are now passing
  * [ ] I'm linking the issue being fixed by this PR

Top commit has no ACKs.

Tree-SHA512: 8d708720f60940edd40826a159388ced261c91d23e074b51164f8c49a2e673cbaecee0241e52cb02090e40ff1f989a980aee0122230cee211f4c3284cad4483c

3 years agoPin fd-lock version to 3.0.2
Steve Myers [Fri, 11 Feb 2022 20:19:07 +0000 (12:19 -0800)]
Pin fd-lock version to 3.0.2

3 years agoManual docs formatting fix
Steve Myers [Fri, 11 Feb 2022 18:49:40 +0000 (10:49 -0800)]
Manual docs formatting fix

3 years agoUpdate Cargo.lock
Steve Myers [Fri, 11 Feb 2022 18:43:16 +0000 (10:43 -0800)]
Update Cargo.lock

3 years agoFix repl and wallet help docs
Steve Myers [Sun, 9 Jan 2022 21:57:11 +0000 (22:57 +0100)]
Fix repl and wallet help docs

This fixes the help docs for the repl and wallet subcommands. The repl subcommand was showing the proxy options docs instead, and the wallet subcommand was showing the description from the WalletSubCommand enum.
This is a workaround for structopt issue #333, #391, #418.
see https://github.com/TeXitoi/structopt/issues/333#issuecomment-712265332

3 years agoMerge bitcoindevkit/bdk-cli#57: if no wallet name was provided, use one derived from...
Steve Myers [Tue, 25 Jan 2022 19:38:50 +0000 (11:38 -0800)]
Merge bitcoindevkit/bdk-cli#57: if no wallet name was provided, use one derived from the descriptor

9b278bd91c17d4f01740cfd15e67c96fd2b40911 Bump bdk and bdk-reserves version to 0.16 (Richard Ulrich)
e52e81951e229fd79225349951699a034874b65d if no wallet name was provided, use one derived from the descriptor (Richard Ulrich)

Pull request description:

  ### Description

  if no wallet name was provided, use one derived from the descriptor

  ### Notes to the reviewers

  Is there a better place to use wallet_name_from_descriptor so that the generated name shows up in the unit tests instead of the placeholder?

  ### 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: 3ea0ce74c6447174329dfed7eb3721faa5596cbaf3b746b2134f0b02b512533e69e54e28c3d8692abb885f86345c47367999bcea307977c67106dbc33fb466a9

3 years agoBump bdk and bdk-reserves version to 0.16
Richard Ulrich [Tue, 25 Jan 2022 09:16:06 +0000 (10:16 +0100)]
Bump bdk and bdk-reserves version to 0.16

3 years agoif no wallet name was provided, use one derived from the descriptor
Richard Ulrich [Thu, 25 Nov 2021 12:16:00 +0000 (13:16 +0100)]
if no wallet name was provided, use one derived from the descriptor

4 years agoLimit rustyline version to >=9.0.0, <9.1.0
Steve Myers [Fri, 10 Dec 2021 04:21:30 +0000 (20:21 -0800)]
Limit rustyline version to >=9.0.0, <9.1.0

This is required because rustyline 9.1.0 uses rust edition 2021 which
this project has not yet adopted. See:
https://github.com/kkawakam/rustyline/pull/570

4 years agoUn-pin fd-lock version
Steve Myers [Thu, 9 Dec 2021 20:12:28 +0000 (12:12 -0800)]
Un-pin fd-lock version

MSRV issue with fd-lock 3.0.1 was fixed with version 3.0.2. See:
https://github.com/yoshuawuyts/fd-lock/issues/16

4 years agoMerge bitcoindevkit/bdk-cli#61: Improve error handlings.
Steve Myers [Sun, 12 Dec 2021 02:07:58 +0000 (18:07 -0800)]
Merge bitcoindevkit/bdk-cli#61: Improve error handlings.

7e65add3e342747c1f0e0e0cbbf1539db30b36e4 Handle errors properly instead of unwraps. (rajarshimaitra)

Pull request description:

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

  ### Description

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

  bdk-cli had lots of ugly unwraps through out the code. All the unwraps inside the library (except tests) were removed and errors were propagated with `bdk::Error` type.

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

Top commit has no ACKs.

Tree-SHA512: 5c4a46af66341e300ac25339a402ea6ba9c8b81172873dc1b7ab5fa081fcbd6546fe2e372acce2a2b6f227034159724e8fc083e02c598de6a44cc4f843e1f07f

4 years agoHandle errors properly instead of unwraps.
rajarshimaitra [Tue, 7 Dec 2021 14:02:07 +0000 (19:32 +0530)]
Handle errors properly instead of unwraps.

4 years agoMerge bitcoindevkit/bdk-cli#56: [bug] Fix RPC tests
Steve Myers [Thu, 9 Dec 2021 20:25:26 +0000 (12:25 -0800)]
Merge bitcoindevkit/bdk-cli#56: [bug] Fix RPC tests

e3f3c3a3d5fbd0e74510aa4a47356d23b070e6b0 Add rpc build and test in CI (rajarshimaitra)
74d2a71e30eae746069371e112f38e591681dbf8 Add missing RPC wallet option (rajarshimaitra)
808dd7cfe05f638e576711e12b9dab8e88c6279f Remove redundant wallet options (rajarshimaitra)

Pull request description:

  ### Description

  There was an inconsistency in `rpc` tests. The `RpcOpts` was missing from the wallet struct. This wasn't caught before because we didn't have `rpc` tests in CI. Fixed that too.

  Also removed redundant wallet options from feature gated tests.

  ### 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:
    re-ACK  e3f3c3a

Tree-SHA512: c6413d52bd982e1d7162789e2645c8ad5b93abb312edecb4a231f59bbb2f3734cc0dbc8b2f07aaa2445f4f8513148e6f1905ee0214510e732cf754e8db4926fa

4 years agoMerge bitcoindevkit/bdk-cli#58: Update codecov to grcov from Tarpauline
Steve Myers [Thu, 9 Dec 2021 20:22:19 +0000 (12:22 -0800)]
Merge bitcoindevkit/bdk-cli#58: Update codecov to grcov from Tarpauline

f8200a160b4dddc96ef7478cb2ccdf5f45cfcd4a Update codecov to grcov from Tarpauline (rajarshimaitra)

Pull request description:

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

  ### Description

  To match with existing codecov of BDK, Tarpaulin based codecov in bdk-cli is changed to grcov.

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

Top commit has no ACKs.

Tree-SHA512: 8cc31829e61fffe61815c8e8cb25e9c1b1722a2f0a42f7e1c032688f8e6953f9844977bbb829eaf4499e7c3fce04f8b61f830d8c24e8481623bbc1111d0f07d2

4 years agoUpdate codecov to grcov from Tarpauline
rajarshimaitra [Sat, 27 Nov 2021 11:33:08 +0000 (17:03 +0530)]
Update codecov to grcov from Tarpauline

4 years agoAdd rpc build and test in CI
rajarshimaitra [Wed, 24 Nov 2021 15:20:08 +0000 (20:50 +0530)]
Add rpc build and test in CI

4 years agoAdd missing RPC wallet option
rajarshimaitra [Wed, 24 Nov 2021 15:19:46 +0000 (20:49 +0530)]
Add missing RPC wallet option