use async_trait::async_trait;
use crate::PlatformError;
#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
pub trait CryptoProvider: Send + Sync {
async fn ed25519_verify(
&self,
public_key: &[u8],
message: &[u8],
signature: &[u8],
) -> Result<(), PlatformError>;
async fn sha256(&self, data: &[u8]) -> Result<[u8; 32], PlatformError>;
}