Smart Account Signer
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()Content copied to clipboard