#[derive(Debug, Copy, Clone)]
pub enum ChainDataIndex {
ChainConfig = 0,
EarliestBlockNumber = 1,
FinalizedBlockNumber = 2,
SafeBlockNumber = 3,
LatestBlockNumber = 4,
PendingBlockNumber = 5,
}
impl From<u8> for ChainDataIndex {
fn from(value: u8) -> Self {
match value {
x if x == ChainDataIndex::ChainConfig as u8 => ChainDataIndex::ChainConfig,
x if x == ChainDataIndex::EarliestBlockNumber as u8 => {
ChainDataIndex::EarliestBlockNumber
}
x if x == ChainDataIndex::FinalizedBlockNumber as u8 => {
ChainDataIndex::FinalizedBlockNumber
}
x if x == ChainDataIndex::SafeBlockNumber as u8 => ChainDataIndex::SafeBlockNumber,
x if x == ChainDataIndex::LatestBlockNumber as u8 => ChainDataIndex::LatestBlockNumber,
x if x == ChainDataIndex::PendingBlockNumber as u8 => {
ChainDataIndex::PendingBlockNumber
}
_ => panic!("Invalid value when casting to ChainDataIndex: {value}"),
}
}
}
#[derive(Debug, Copy, Clone)]
pub enum SnapStateIndex {
HeaderDownloadCheckpoint = 0,
StateTrieKeyCheckpoint = 1,
StateHealPaths = 2,
StateTrieRebuildCheckpoint = 3,
StorageTrieRebuildPending = 4,
}
impl From<u8> for SnapStateIndex {
fn from(value: u8) -> Self {
match value {
0 => SnapStateIndex::HeaderDownloadCheckpoint,
1 => SnapStateIndex::StateTrieKeyCheckpoint,
2 => SnapStateIndex::StateHealPaths,
3 => SnapStateIndex::StateTrieRebuildCheckpoint,
4 => SnapStateIndex::StorageTrieRebuildPending,
_ => panic!("Invalid value when casting to SnapDataIndex: {value}"),
}
}
}