mod span;
pub mod batcher;
pub mod resolver;
pub mod voter;
#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
pub(crate) struct Ask {
pub kind: Kind,
pub until: Until,
}
impl Ask {
pub const fn backfill() -> Self {
Self {
kind: Kind::Nullification,
until: Until::Floor,
}
}
pub const fn ancestry(kind: Kind) -> Self {
Self {
kind,
until: Until::Finalization,
}
}
}
#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
pub(crate) enum Kind {
Nullification,
Notarization,
}
impl Kind {
pub const fn as_str(self) -> &'static str {
match self {
Self::Nullification => "nullification",
Self::Notarization => "notarization",
}
}
}
#[derive(Clone, Copy, Debug, Eq, Ord, PartialEq, PartialOrd)]
pub(crate) enum Until {
Floor,
Finalization,
}