use codec::{Encode, Decode};
use scale_info::TypeInfo;
use sp_runtime::RuntimeDebug;

#[derive(Default, Encode, Decode, Clone, Copy, PartialEq, TypeInfo, RuntimeDebug)]
pub enum RoastStatus {
    #[default]
    NonceCommitments,
    GroupCommitments,
    PartialSignatures,
}

#[derive(Default, Encode, Decode, Clone, PartialEq, TypeInfo, RuntimeDebug)]
pub struct RoastSessionState<Bitmap>
where
	Bitmap: Default,
{
    pub status: RoastStatus,
    pub nonce_committers: Bitmap,
    pub group_committers: Bitmap,
    pub partial_signers: Bitmap,
}
