7d3720e382410af5ebe18aa48c5c819bf21a1ec3 feat(desc): remove generate subcommand (Vihiga Tyonum)
32a2c8847f1574fa7659a568a29ecf180b175d52 feat(desc):update descriptors gen to use templates (Vihiga Tyonum)
c8f23ba5138a5c9c2e2f8df88d5913ab458a4b8f feat(descriptors): fix descriptor generation (Vihiga Tyonum)
550e81628779968bdbfedebc54debf8a6e20869e feat(descriptors): add multipath descs and pretty (Vihiga Tyonum)
1f77842ee7b415af581ca482de07cddf8cd5968c fix descriptors generation (Vihiga Tyonum)
6c9c3a1bb13eada4af00e41be1ccded2928a6ba2 feat: add descriptor generation (AmosOO7)
Pull request description:
# Pull Request: Add `descriptor` Subcommand
## Description
This PR introduces a new `descriptor` subcommand to the BDK CLI that enable users to generate and inspect **Bitcoin wallet descriptors** for internal and external paths, supporting common types (pkh, sh, wpkh, wsh, tr). It includes support for both **single-path** descriptors from extended keys (`xprv`/`xpub` or `tprv`/`tpub`).
This resolves issue https://github.com/bitcoindevkit/bdk-cli/issues/175
## Features Implemented
- Adds new `descriptor` subcommand with:
- `generate` – generate new descriptors
- Supports BIP44, BIP49, BIP84, and BIP86 script types
- Generates **internal and external descriptors**
- Reasonable defaults:
- `--type` defaults to `wsh` and a short `t`
- `--network` default `testnet`
---
## Usage Examples
### 1. Generate Descriptors from an Extended Private Key
```bash
cargo run -- --network testnet descriptor generate --type wsh <XPRV>
```
### 2. Generate Descriptors from a Mnemonic (no key provided)
```bash
cargo run -- --network testnet descriptor generate --type tr
```
* [x] I've signed all my commits
* [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md)
* [x] I ran `cargo fmt` and `cargo clippy` before committing
#### New Features:
* [ ] I've added tests for the new feature
* [ ] I've added docs for the new feature
* [ ] I've updated `CHANGELOG.md`
ACKs for top commit:
notmandatory:
tACK
7d3720e382410af5ebe18aa48c5c819bf21a1ec3
tvpeter:
ACK
7d3720e382410af5ebe18aa48c5c819bf21a1ec3
Tree-SHA512: 38182e657ffeaec89c84c601f8c41482eee9962a1847eaf6a3ad8b55d01858e0d2a056248d5bd4090734787caedf1c11232bb56337c90d5451c2664ff3571b50