casper_storage/data_access_layer/
total_supply.rs1use crate::tracking_copy::TrackingCopyError;
2use casper_types::{Digest, ProtocolVersion, U512};
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6pub struct TotalSupplyRequest {
7 state_hash: Digest,
8 protocol_version: ProtocolVersion,
9}
10
11impl TotalSupplyRequest {
12 pub fn new(state_hash: Digest, protocol_version: ProtocolVersion) -> Self {
14 TotalSupplyRequest {
15 state_hash,
16 protocol_version,
17 }
18 }
19
20 pub fn state_hash(&self) -> Digest {
22 self.state_hash
23 }
24
25 pub fn protocol_version(&self) -> ProtocolVersion {
27 self.protocol_version
28 }
29}
30
31#[derive(Debug)]
33pub enum TotalSupplyResult {
34 RootNotFound,
36 MintNotFound,
38 ValueNotFound(String),
40 Success {
42 total_supply: U512,
44 },
45 Failure(TrackingCopyError),
47}