Files
nanoreth/crates/primitives/src/exex/mod.rs
2024-04-18 17:15:28 +00:00

26 lines
828 B
Rust

use crate::BlockNumber;
/// The finished height of all ExEx's.
#[derive(Debug, Clone, Copy)]
pub enum FinishedExExHeight {
/// No ExEx's are installed, so there is no finished height.
NoExExs,
/// Not all ExExs have emitted a `FinishedHeight` event yet.
NotReady,
/// The finished height of all ExEx's.
///
/// This is the lowest common denominator between all ExEx's.
///
/// This block is used to (amongst other things) determine what blocks are safe to prune.
///
/// The number is inclusive, i.e. all blocks `<= finished_height` are safe to prune.
Height(BlockNumber),
}
impl FinishedExExHeight {
/// Returns `true` if not all ExExs have emitted a `FinishedHeight` event yet.
pub const fn is_not_ready(&self) -> bool {
matches!(self, Self::NotReady)
}
}