1#[derive(Debug, Copy, Clone)]
4pub enum ChainDataIndex {
5 ChainConfig = 0,
6 EarliestBlockNumber = 1,
7 FinalizedBlockNumber = 2,
8 SafeBlockNumber = 3,
9 LatestBlockNumber = 4,
10 PendingBlockNumber = 5,
11}
12
13impl From<u8> for ChainDataIndex {
14 fn from(value: u8) -> Self {
15 match value {
16 x if x == ChainDataIndex::ChainConfig as u8 => ChainDataIndex::ChainConfig,
17 x if x == ChainDataIndex::EarliestBlockNumber as u8 => {
18 ChainDataIndex::EarliestBlockNumber
19 }
20 x if x == ChainDataIndex::FinalizedBlockNumber as u8 => {
21 ChainDataIndex::FinalizedBlockNumber
22 }
23 x if x == ChainDataIndex::SafeBlockNumber as u8 => ChainDataIndex::SafeBlockNumber,
24 x if x == ChainDataIndex::LatestBlockNumber as u8 => ChainDataIndex::LatestBlockNumber,
25 x if x == ChainDataIndex::PendingBlockNumber as u8 => {
26 ChainDataIndex::PendingBlockNumber
27 }
28 _ => panic!("Invalid value when casting to ChainDataIndex: {value}"),
29 }
30 }
31}
32
33#[derive(Debug, Copy, Clone)]
37pub enum SnapStateIndex {
38 HeaderDownloadCheckpoint = 0,
40 StateTrieKeyCheckpoint = 1,
42 StateHealPaths = 2,
44 StateTrieRebuildCheckpoint = 3,
46 StorageTrieRebuildPending = 4,
48}
49
50impl From<u8> for SnapStateIndex {
51 fn from(value: u8) -> Self {
52 match value {
53 0 => SnapStateIndex::HeaderDownloadCheckpoint,
54 1 => SnapStateIndex::StateTrieKeyCheckpoint,
55 2 => SnapStateIndex::StateHealPaths,
56 3 => SnapStateIndex::StateTrieRebuildCheckpoint,
57 4 => SnapStateIndex::StorageTrieRebuildPending,
58 _ => panic!("Invalid value when casting to SnapDataIndex: {value}"),
59 }
60 }
61}