]> Untitled Git - bdk-cli/commitdiff
Merge bitcoindevkit/bdk-cli#208: Update `compile` command to support creating taproot...
authormerge-script <withtvpeter@gmail.com>
Mon, 8 Sep 2025 18:20:07 +0000 (19:20 +0100)
committermerge-script <withtvpeter@gmail.com>
Mon, 8 Sep 2025 18:20:07 +0000 (19:20 +0100)
3bcec61d8721b1f5a863eb6f3e1be146bc0bf54d feat(compile): add tr option for compile cmd (Vadim Anufriev)

Pull request description:

  ### Description
  Resolves #204.

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

  ### Notes to the reviewers
  For creating the tr descriptor, I used the NUMS pubkey proposed in [BIP-341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#constructing-and-spending-taproot-outputs).

  There is [discussion](https://github.com/rust-bitcoin/rust-bitcoin/issues/1322) about adding NUMS key to `rust-bicoin`, we can use it in the future from there.

  Also there is [BIP draft](https://github.com/bitcoin/bips/pull/1746) for new descriptor key expression `unspendable()` for exacly this use case - we will simply use descriptor `tr(unspendable(), TREE)`.

  ## Changelog notice

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

  ### Checklists

  #### All Submissions:

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

  #### New Features:

  * [x] 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:
    utACK 3bcec61d8721b1f5a863eb6f3e1be146bc0bf54d

Tree-SHA512: bd20091379fa957629921333e6a94f7a9252280b7252120b6104a11272b7ea12326062c1737cc69a11e4dd766f82b6f1d764d898931c062a57ea2f1448ed5ecd


Trivial merge