SmartAccountSigner

sealed class SmartAccountSigner

Represents a signer that can authorize smart account transactions.

Smart account signers define who can authorize transactions on a smart account. Two types exist:

  • DelegatedSigner: A Soroban address (G or C) using built-in require_auth verification

  • ExternalSigner: A verifier contract + public key bytes for custom signature validation

Example usage:

// Create a delegated signer
val delegatedSigner = DelegatedSigner(address = "GA7Q...")

// Create a WebAuthn signer
val webAuthnSigner = ExternalSigner.webAuthn(
verifierAddress = "CBCD...",
publicKey = publicKeyData,
credentialId = credentialIdData
)

// Convert to on-chain representation
val scVal = delegatedSigner.toScVal()

Inheritors

Properties

Link copied to clipboard
abstract val uniqueKey: String

Unique identifier for deduplication.

Functions

Link copied to clipboard
abstract fun toScVal(): SCValXdr

Converts this signer to its ScVal representation for contract calls.