If you have a descriptor string containing secret keys, it's super non-obvious how to parse this. You can type from_str into docs.rs but nothing will come up. You can type parse and the Descriptor::parse_descriptor method does show up in the list, but there's nothing in the name indicating that it's for secret-key descriptors (and the word "secret" doesn't appear til late in the description so you need a wide screen for it to show up).
As a further thing, it kinda sucks that you can't just parse and re-serialize secret-key-containing descriptors without needing a secp context and doing all the secret key derivations.
I think both API issues would be solved by introducing a SecretDescriptor type which can be parsed/reserialized and converted to/from a (Descriptor, KeyMap) pair, and nothing else.
If you have a descriptor string containing secret keys, it's super non-obvious how to parse this. You can type
from_str
into docs.rs but nothing will come up. You can typeparse
and theDescriptor::parse_descriptor
method does show up in the list, but there's nothing in the name indicating that it's for secret-key descriptors (and the word "secret" doesn't appear til late in the description so you need a wide screen for it to show up).As a further thing, it kinda sucks that you can't just parse and re-serialize secret-key-containing descriptors without needing a secp context and doing all the secret key derivations.
I think both API issues would be solved by introducing a
SecretDescriptor
type which can be parsed/reserialized and converted to/from a(Descriptor, KeyMap)
pair, and nothing else.