dpp/data_contract/associated_token/token_distribution_rules/
mod.rs

1#[cfg(feature = "json-conversion")]
2use crate::serialization::JsonConvertible;
3use bincode::{Decode, Encode};
4use derive_more::From;
5use serde::{Deserialize, Serialize};
6
7pub mod accessors;
8pub mod v0;
9
10#[cfg_attr(feature = "json-conversion", derive(JsonConvertible))]
11#[derive(Serialize, Deserialize, Encode, Decode, Debug, Clone, PartialEq, Eq, From)]
12#[serde(tag = "$formatVersion")]
13pub enum TokenDistributionRules {
14    #[serde(rename = "0")]
15    V0(TokenDistributionRulesV0),
16}
17
18use crate::data_contract::associated_token::token_distribution_rules::v0::TokenDistributionRulesV0;
19use std::fmt;
20
21impl fmt::Display for TokenDistributionRules {
22    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23        match self {
24            TokenDistributionRules::V0(v0) => {
25                write!(f, "{}", v0) //just pass through
26            }
27        }
28    }
29}