#![allow(unused_imports)]

use serde::{Deserialize, Serialize};

pub use body::{BlockBody, EncodedBlockBody};
pub use head::{
    BlockHead, BlockHeadExt, CandidBlockHead, CandidConsensusBlockHead, ConsensusBlockHead,
    EncodedBlockHead,
};

mod body;
mod head;

#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
pub struct Block {
    pub head: BlockHead,
    pub body: Option<BlockBody>,
}
