use tari_common_types::types::FixedHash;
use tari_ootle_common_types::{Epoch, NodeHeight};
use tari_sidechain::QuorumDecision;
use tari_template_lib::types::crypto::{RistrettoPublicKeyBytes, SchnorrSignatureBytes};
pub trait ToSignatureMessage {
fn to_signature_message(&self) -> FixedHash;
}
pub trait SignedMessage: ToSignatureMessage {
fn signature(&self) -> &SchnorrSignatureBytes;
fn public_key(&self) -> &RistrettoPublicKeyBytes;
}
pub trait Vote: SignedMessage {
fn epoch(&self) -> Epoch;
fn height(&self) -> NodeHeight;
fn decision(&self) -> QuorumDecision;
}