pub trait KeyManager {
// Required methods
fn sign(&self, msg: &[u8]) -> Result<Vec<u8>, Error>;
fn public_key(&self) -> PublicKey;
fn next_public_key(&self) -> PublicKey;
fn rotate(&mut self) -> Result<(), Error>;
}
pub trait KeyManager {
// Required methods
fn sign(&self, msg: &[u8]) -> Result<Vec<u8>, Error>;
fn public_key(&self) -> PublicKey;
fn next_public_key(&self) -> PublicKey;
fn rotate(&mut self) -> Result<(), Error>;
}