mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
26 lines
828 B
Rust
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)
|
|
}
|
|
}
|