func (k *MultiEd25519PublicKey) Hex() string {
	return hex.EncodeToString(k.Bytes())
}
Hex implements `PublicKey` interface returns hex-encoded string of public keys' bytes
package diemkeys
import (
	"crypto/ed25519"
	"encoding/hex"
)
const (
	BitmapNumOfBytes = 4
	MaxNumOfKeys = 32
)
type MultiEd25519PublicKey struct {
	keys      []ed25519.PublicKey
	threshold byte
}
type MultiEd25519PrivateKey struct {
	keys      []ed25519.PrivateKey
	threshold byte
}
func NewMultiEd25519PublicKey(keys []ed25519.PublicKey, threshold byte) PublicKey {
	validate(len(keys), threshold)
	return &MultiEd25519PublicKey{keys, threshold}
}
func NewMultiEd25519PrivateKey(keys []ed25519.PrivateKey, threshold byte) PrivateKey {
	validate(len(keys), threshold)
	return &MultiEd25519PrivateKey{keys, threshold}
}
func validate(keysLen int, threshold byte) {
	if keysLen == 0 {
		panic("should at least have 1 key")
	}
	if int(threshold) > keysLen {
		panic("threshold should be less or equal to len(keys)")
	}
	if keysLen > MaxNumOfKeys {
		panic("len(keys) is more than max num of keys")
	}
}
func (k *MultiEd25519PublicKey) IsMulti() bool {
	return true
}