BlockchainCommons / BlockchainCommons/sweeptool-cli

Range format for output descriptors

Open
#5 0 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Rust
Stars
3
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## Abstract

Currently sweeptool handles output descriptors in Bitcoin Core compatible format wrt configurable range: `/*`
This means we have to pass the Receiving and Change descriptor separately.

However, there are many different standards which try to pass a descriptor only once for the Change and Receive purpose. This includes `Gordian products` (which omit the `/0/*` and `/1/*`), some other vendors (unchained capital?) which expect a `/0/*` and derive `/1/*` automatically, and there's a new BIP https://nunchuk.medium.com/a-new-multisig-standard-and-nunchuk-1-0-499dd3690f2d which seems to handle this more elegantly.

Imo, dropping the tail is problematic as Bitcoin Core understands that as something different, example:

```bash
$ bitcoin-cli getdescriptorinfo "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/1/*)"
{
"descriptor": "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL/1/*)#ml40v0wf",
"checksum": "ml40v0wf",
"isrange": true,
"issolvable": true,
"hasprivatekeys": false
}
```

```bash
$ bitcoin-cli getdescriptorinfo "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)"
{
"descriptor": "pkh([d34db33f/44'/0'/0']xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL)#0gu49ctj",
"checksum": "0gu49ctj",
"isrange": false,
"issolvable": true,
"hasprivatekeys": false
}
```

What formats should we support?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.