dpp/block/finalized_epoch_info/
getters.rs

1use crate::block::finalized_epoch_info::v0::getters::FinalizedEpochInfoGettersV0;
2use crate::block::finalized_epoch_info::FinalizedEpochInfo;
3use crate::fee::Credits;
4use crate::prelude::{BlockHeight, BlockHeightInterval, CoreBlockHeight, TimestampMillis};
5use platform_value::Identifier;
6use std::collections::BTreeMap;
7
8impl FinalizedEpochInfoGettersV0 for FinalizedEpochInfo {
9    fn first_block_time(&self) -> TimestampMillis {
10        match self {
11            FinalizedEpochInfo::V0(v0) => v0.first_block_time(),
12        }
13    }
14
15    fn first_block_height(&self) -> BlockHeight {
16        match self {
17            FinalizedEpochInfo::V0(v0) => v0.first_block_height(),
18        }
19    }
20
21    fn total_blocks_in_epoch(&self) -> BlockHeightInterval {
22        match self {
23            FinalizedEpochInfo::V0(v0) => v0.total_blocks_in_epoch(),
24        }
25    }
26
27    fn first_core_block_height(&self) -> CoreBlockHeight {
28        match self {
29            FinalizedEpochInfo::V0(v0) => v0.first_core_block_height(),
30        }
31    }
32
33    fn next_epoch_start_core_block_height(&self) -> CoreBlockHeight {
34        match self {
35            FinalizedEpochInfo::V0(v0) => v0.next_epoch_start_core_block_height(),
36        }
37    }
38
39    fn total_processing_fees(&self) -> Credits {
40        match self {
41            FinalizedEpochInfo::V0(v0) => v0.total_processing_fees(),
42        }
43    }
44
45    fn total_distributed_storage_fees(&self) -> Credits {
46        match self {
47            FinalizedEpochInfo::V0(v0) => v0.total_distributed_storage_fees(),
48        }
49    }
50
51    fn total_created_storage_fees(&self) -> Credits {
52        match self {
53            FinalizedEpochInfo::V0(v0) => v0.total_created_storage_fees(),
54        }
55    }
56
57    fn core_block_rewards(&self) -> Credits {
58        match self {
59            FinalizedEpochInfo::V0(v0) => v0.core_block_rewards(),
60        }
61    }
62
63    fn block_proposers(&self) -> &BTreeMap<Identifier, u64> {
64        match self {
65            FinalizedEpochInfo::V0(v0) => v0.block_proposers(),
66        }
67    }
68
69    fn fee_multiplier_permille(&self) -> u64 {
70        match self {
71            FinalizedEpochInfo::V0(v0) => v0.fee_multiplier_permille(),
72        }
73    }
74
75    fn protocol_version(&self) -> u32 {
76        match self {
77            FinalizedEpochInfo::V0(v0) => v0.protocol_version(),
78        }
79    }
80}