dpp/block/finalized_epoch_info/
getters.rs1use 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}