usecrate::error::VeilError;/// Wallet abstraction. Any wallet can integrate with Veil SDK
/// by implementing this trait.
pubtraitSigner{/// Return the signer's public key as raw bytes (32 bytes for Ed25519).
fnpublic_key(&self)->Vec<u8>;/// Sign the given message bytes. Returns Ed25519 signature (64 bytes).
fnsign(&self, message:&[u8])->Result<Vec<u8>, VeilError>;}