pub trait SignMethod {
// Required methods
fn signature_type(&self) -> u64;
fn next_seq_num(&mut self) -> u64;
fn certificate(&self) -> Option<Certificate>;
fn sign(&self, data: &[u8]) -> Bytes;
// Provided method
fn time(&self) -> SignatureTime { ... }
}