Yes for the private key we will likely need all of the associated
operations for signing + the nip49 thing for desktop. It looks like it
has nip44 support as well which we will need.
We can just keep a raw byte serialized version in our keychain for
operations that need frame performance like equality matching, etc.
It's clear there will be many key representations:
- XOnlyPublicKey
- PubkeyBuf([u8; 32])
- Pubkey(&'a [u8; 32])
- SecretKey
- etc
as long as we don't do silly things like convert XOnlyPublicKey -> [u8; 32]
within per-frame within our UI code we should be fine.