Description
Summary
Part of #11970
Define how public keys should be value-rendered in SIGN_MODE_TEXTUAL.
Problem Definition
We didnt' define public keys value renderers in ADR-050. Currently, they would be displayed as normal messages (i.e. Proposal 1).
Which high-level format should we display pubkeys in (bytes, or a struct)?
Recall, we mainly have 3 types of pubkeys: secp256k1, ed25519 and legacy multisigs.
Proposal 1
No custom value renderer for pubkeys. We would have:
* PubKey object
*> Key: 123ABC
ref:
cosmos-sdk/proto/cosmos/crypto/secp256k1/keys.proto
Lines 13 to 17 in 209797f
Pro: visibility into sub pubkeys
cons: longer screens
Proposal 2
Use the Bytes()
method on the pubkey interface.
Rendered:
*Public key: 123ABC
Small Pro: people are used to this Bytes()
method, albeit in base64 format
Big con: this would rely on Amino, because of LegacyMultisig:
cosmos-sdk/crypto/keys/multisig/multisig.go
Lines 42 to 45 in 209797f
Proposal 3
Define something completely new.