Verify a Phantom-produced Ed25519 signature over the Latch signing convention.
The client signs: "Stellar Smart Account Auth:\n" + lowercase_hex(auth_payload_hash)
This contract reconstructs that message from hash and verifies sig_data against it.
Panics with Error(Crypto, InvalidInput) if the signature is invalid.
fn verify(
env: soroban_sdk::Env,
hash: soroban_sdk::Bytes,
key_data: soroban_sdk::BytesN<32>,
sig_data: soroban_sdk::BytesN<64>,
) -> bool
Returns the canonical 32-byte representation of the Ed25519 public key.
Ed25519 keys have exactly one canonical encoding — this is a pass-through.
fn canonicalize_key(
env: soroban_sdk::Env,
key_data: soroban_sdk::BytesN<32>,
) -> soroban_sdk::Bytes
Canonicalizes a batch of Ed25519 keys, preserving input order.
fn batch_canonicalize_key(
env: soroban_sdk::Env,
key_data: soroban_sdk::Vec>,
) -> soroban_sdk::Vec