polymorph_webcrypto_guest/
ed25519.rs1use crate::{bindings, Error, SigningKey, SigningKeyOptions, VerifyingKey};
4
5pub async fn import_verifying_key_raw(raw: impl Into<Vec<u8>>) -> Result<VerifyingKey, Error> {
7 Ok(VerifyingKey::from_raw(
8 bindings::ed25519_verify::import_verifying_key_raw(raw.into()).await?,
9 ))
10}
11
12pub async fn generate_key(options: SigningKeyOptions) -> Result<(SigningKey, VerifyingKey), Error> {
14 let (signing, verifying) = bindings::ed25519_sign::generate_key(options.lower()).await?;
15 Ok((
16 SigningKey::from_raw(signing),
17 VerifyingKey::from_raw(verifying),
18 ))
19}