common_domain_aa_auths - [mainnet]
use 0x1::auth_data;use 0x1::ed25519;use 0x1::error;use 0x1::string;use 0x1::string_utils;
Constants
const EINVALID_SIGNATURE: u64 = 1;
Functions
authenticate_ed25519_hex
public fun authenticate_ed25519_hex(account: signer, aa_auth_data: auth_data::AbstractionAuthData): signer
Implementation
public fun authenticate_ed25519_hex(account: signer, aa_auth_data: AbstractionAuthData): signer { let hex_digest = string_utils::to_string(aa_auth_data.digest());
let public_key = new_unvalidated_public_key_from_bytes(*aa_auth_data.domain_account_identity()); let signature = new_signature_from_bytes(*aa_auth_data.domain_authenticator()); assert!( ed25519::signature_verify_strict( &signature, &public_key, *hex_digest.bytes(), ), error::permission_denied(EINVALID_SIGNATURE) );
account}