casper_storage/data_access_layer/
round_seigniorage.rs1use crate::tracking_copy::TrackingCopyError;
2use casper_types::{Digest, ProtocolVersion, U512};
3use num_rational::Ratio;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
7pub struct RoundSeigniorageRateRequest {
8 state_hash: Digest,
9 protocol_version: ProtocolVersion,
10}
11
12impl RoundSeigniorageRateRequest {
13 pub fn new(state_hash: Digest, protocol_version: ProtocolVersion) -> Self {
15 RoundSeigniorageRateRequest {
16 state_hash,
17 protocol_version,
18 }
19 }
20
21 pub fn state_hash(&self) -> Digest {
23 self.state_hash
24 }
25
26 pub fn protocol_version(&self) -> ProtocolVersion {
28 self.protocol_version
29 }
30}
31
32#[derive(Debug)]
34pub enum RoundSeigniorageRateResult {
35 RootNotFound,
37 MintNotFound,
39 ValueNotFound(String),
41 Success {
43 rate: Ratio<U512>,
45 },
46 Failure(TrackingCopyError),
48}