Skip to main content

PublicKey

PublicKey

class PublicKey

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:

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:

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)

debugDescription

var debugDescription: String { get }

A textual representation of this instance, suitable for debugging.

Calling this property directly is discouraged. Instead, convert an instance of any type to a string by using the String(reflecting:) initializer. This initializer works with any type, and uses the custom debugDescription property for types that conform to CustomDebugStringConvertible:

struct Point: CustomDebugStringConvertible {
let x: Int, y: Int

var debugDescription: String {
return "(\(x), \(y))"
}
}

let p = Point(x: 21, y: 30)
let s = String(reflecting: p)
print(s)
// Prints "(21, 30)"

The conversion of p to a string in the assignment to s uses the Point type's debugDescription property.

asEd25519()

func asEd25519() -> Ed25519PublicKey

asOptEd25519()

func asOptEd25519() -> Ed25519PublicKey?

asOptPasskey()

func asOptPasskey() -> PasskeyPublicKey?

asOptSecp256k1()

func asOptSecp256k1() -> Secp256k1PublicKey?

asOptSecp256r1()

func asOptSecp256r1() -> Secp256r1PublicKey?

asPasskey()

func asPasskey() -> PasskeyPublicKey

asSecp256k1()

func asSecp256k1() -> Secp256k1PublicKey

asSecp256r1()

func asSecp256r1() -> Secp256r1PublicKey

isEd25519()

func isEd25519() -> Bool

isPasskey()

func isPasskey() -> Bool

isSecp256k1()

func isSecp256k1() -> Bool

isSecp256r1()

func isSecp256r1() -> Bool

scheme()

func scheme() -> SignatureScheme

toBase64()

func toBase64() -> String

Encode this public key as a base64 string of its scheme-flagged byte representation

fromBase64(s:)

static func fromBase64(s: String) throws -> PublicKey

Decode a public key from a base64 string of its scheme-flagged byte representation

!=(_:_:)

static func != (lhs: Self, rhs: Self) -> Bool

Returns a Boolean value indicating whether two values are not equal.

Inequality is the inverse of equality. For any values a and b, a != b implies that a == b is false.

This is the default implementation of the not-equal-to operator (!=) for any type that conforms to Equatable.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.

==(_:_:)

static func == (self: PublicKey, other: PublicKey) -> Bool

Returns a Boolean value indicating whether two values are equal.

Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

  • Parameters:
    • lhs: A value to compare.
    • rhs: Another value to compare.