use crate::types::{CryptoError, SignatureScheme};
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SignerError {
CryptoError(CryptoError),
InvalidSignature,
SigningError,
}
pub trait Signer {
fn sign(&self, payload: &[u8]) -> Result<Vec<u8>, SignerError>;
fn signature_scheme(&self) -> SignatureScheme;
}