PublicKeyInterface
type PublicKeyInterface
Enum of valid public keys for the signature schemes supported by IOTA.
BCS
The BCS serialized form for this type is defined by the following ABNF:
```text public-key = %d00 ed25519-public-key / %d01 secp256k1-public-key / %d02 secp256r1-public-key / %d04 passkey-public-key ```
The gap in the flag values is intentional, as not all signature scheme support public keys.
There is also a base64 encoding for this type defined as:
```text base64-public-key = string ; which is valid base64 encoded ; and the decoded bytes are defined ; by flagged-public-key flagged-public-key = (ed25519-flag ed25519-public-key) / (secp256k1-flag secp256k1-public-key) / (secp256r1-flag secp256r1-public-key) / (passkey-flag passkey-public-key) ```
type PublicKeyInterface interface {
AsEd25519() *Ed25519PublicKey
AsOptEd25519() **Ed25519PublicKey
AsOptPasskey() **PasskeyPublicKey
AsOptSecp256k1() **Secp256k1PublicKey
AsOptSecp256r1() **Secp256r1PublicKey
AsPasskey() *PasskeyPublicKey
AsSecp256k1() *Secp256k1PublicKey
AsSecp256r1() *Secp256r1PublicKey
IsEd25519() bool
IsPasskey() bool
IsSecp256k1() bool
IsSecp256r1() bool
Scheme() SignatureScheme
// Encode this public key as a base64 string of its scheme-flagged byte
// representation
ToBase64() string
}