use nintypes::external::{
content::ContentBlockData, history::InscriptionsHistory, market::MarketBlock,
previewer::PreviewerBlockData,
};
use crate::BlockMeta;
pub trait HasBlockInfo: serde::Serialize + serde::de::DeserializeOwned + Send + Sync {
fn block_info(&self) -> BlockMeta;
}
impl HasBlockInfo for InscriptionsHistory {
fn block_info(&self) -> BlockMeta {
self.block.into()
}
}
impl HasBlockInfo for PreviewerBlockData {
fn block_info(&self) -> BlockMeta {
self.block_info.into()
}
}
impl HasBlockInfo for MarketBlock {
fn block_info(&self) -> BlockMeta {
self.block_info.into()
}
}
impl HasBlockInfo for ContentBlockData {
fn block_info(&self) -> BlockMeta {
self.block_info.into()
}
}