BlockchainCommons / BlockchainCommons/sweeptool-cli
Range format for output descriptors
- 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
Assessment
This issue has not been assessed yet.