mod helpers;
use novasmt::ContentAddrStore;
use themelio_stf::SealedState;
pub mod gossip;
use crate::blockgraph::BlockGraph;
use themelio_stf::StakeMapping;
use themelio_structs::BlockHeight;
pub struct ChainState<C: ContentAddrStore> {
epoch: u64,
stakes: StakeMapping<C>,
pub blockgraph: BlockGraph<C>,
drained_height: BlockHeight,
}
impl<C: ContentAddrStore> ChainState<C> {
pub fn new(genesis: SealedState<C>, blockgraph: BlockGraph<C>) -> Self {
let epoch = genesis.inner_ref().height.epoch();
let stakes = genesis.inner_ref().stakes.clone();
Self {
epoch,
stakes,
blockgraph,
drained_height: 0.into(),
}
}
}