use crate::tracking_copy::TrackingCopyError;
use casper_types::{Digest, ProtocolVersion, U512};
use num_rational::Ratio;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct RoundSeigniorageRateRequest {
state_hash: Digest,
protocol_version: ProtocolVersion,
}
impl RoundSeigniorageRateRequest {
pub fn new(state_hash: Digest, protocol_version: ProtocolVersion) -> Self {
RoundSeigniorageRateRequest {
state_hash,
protocol_version,
}
}
pub fn state_hash(&self) -> Digest {
self.state_hash
}
pub fn protocol_version(&self) -> ProtocolVersion {
self.protocol_version
}
}
#[derive(Debug)]
pub enum RoundSeigniorageRateResult {
RootNotFound,
MintNotFound,
ValueNotFound(String),
Success {
rate: Ratio<U512>,
},
Failure(TrackingCopyError),
}