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.