use std::fmt::Debug;
use kes_summed_ed25519::kes::Sum6KesSig;
use crate::{
StdResult,
crypto_helper::{KesEvolutions, KesPeriod, OpCert},
};
#[cfg_attr(test, mockall::automock)]
pub trait KesSigner: Send + Sync {
fn sign(
&self,
message: &[u8],
current_kes_period: KesPeriod,
) -> StdResult<(Sum6KesSig, OpCert)>;
}
#[cfg_attr(test, mockall::automock)]
pub trait KesVerifier: Send + Sync + Debug {
fn verify(
&self,
message: &[u8],
signature: &Sum6KesSig,
operational_certificate: &OpCert,
kes_evolutions: KesEvolutions,
) -> StdResult<()>;
}