#![allow(unused_imports)]

use serde::{Deserialize, Serialize};

pub use body::{BlockBody, BlockBodyExt, EncodedBlockBody};
pub use header::{
    BlockHeader, BlockHeaderExt, CandidBlockHeader, CandidConsensusBlockHeader,
    ConsensusBlockHeader, EncodedBlockHeader,
};

mod body;
mod header;

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