Skip to main content

UserSignature

UserSignature

class UserSignature

A signature from a user

A UserSignature is most commonly used to authorize the execution and inclusion of a transaction to the blockchain.

BCS

The BCS serialized form for this type is defined by the following ABNF:

user-signature = bytes ; where the contents of the bytes are defined by
; <user-signature-body>
user-signature-body = (%d00 ed25519-signature ed25519-public-key) /
(%d01 secp256k1-signature secp256k1-public-key) /
(%d02 secp256r1-signature secp256r1-public-key) /
(%d03 multisig-aggregated-signature) /
(%d06 passkey-authenticator) /
(%d07 move-authenticator)

Note: Due to historical reasons, signatures are serialized slightly different from the majority of the types in IOTA. In particular if a signature is ever embedded in another structure it generally is serialized as bytes meaning it has a length prefix that defines the length of the completely serialized signature.

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.

asMoveAuthenticator()

func asMoveAuthenticator() -> MoveAuthenticator

Convert this signature into a move authenticator if it is one, or panic otherwise

asMultisig()

func asMultisig() -> MultisigAggregatedSignature

Convert this signature into a multisig aggregated signature if it is one, or panic otherwise

asOptMoveAuthenticator()

func asOptMoveAuthenticator() -> MoveAuthenticator?

Convert this signature into a move authenticator if it is one, or return None otherwise

asOptMultisig()

func asOptMultisig() -> MultisigAggregatedSignature?

Convert this signature into a multisig aggregated signature if it is one, or return None otherwise

asOptPasskeyAuthenticator()

func asOptPasskeyAuthenticator() -> PasskeyAuthenticator?

Convert this signature into a passkey authenticator if it is one, or return None otherwise

asOptSimple()

func asOptSimple() -> SimpleSignature?

Convert this signature into a simple signature if it is one, or return None otherwise

asPasskeyAuthenticator()

func asPasskeyAuthenticator() -> PasskeyAuthenticator

Convert this signature into a passkey authenticator if it is one, or panic otherwise

asSimple()

func asSimple() -> SimpleSignature

Convert this signature into a simple signature if it is one, or panic otherwise

isMoveAuthenticator()

func isMoveAuthenticator() -> Bool

Check if this signature is a move authenticator

isMultisig()

func isMultisig() -> Bool

Check if this signature is a multisig aggregated signature

isPasskeyAuthenticator()

func isPasskeyAuthenticator() -> Bool

Check if this signature is a passkey authenticator

isSimple()

func isSimple() -> Bool

Check if this signature is a simple signature

scheme()

func scheme() -> SignatureScheme

Return the flag for this signature scheme

toBase64()

func toBase64() -> String

toBytes()

func toBytes() -> Data

fromBase64(base64:)

static func fromBase64(base64: String) throws -> UserSignature

fromBytes(bytes:)

static func fromBytes(bytes: Data) throws -> UserSignature

newMoveAuthenticator(authenticator:)

static func newMoveAuthenticator(authenticator: MoveAuthenticator) -> UserSignature

newMultisig(signature:)

static func newMultisig(signature: MultisigAggregatedSignature) -> UserSignature

newPasskeyAuthenticator(authenticator:)

static func newPasskeyAuthenticator(authenticator: PasskeyAuthenticator) -> UserSignature

newSimple(signature:)

static func newSimple(signature: SimpleSignature) -> UserSignature

!=(_:_:)

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: UserSignature, other: UserSignature) -> 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.