1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
#[cfg(any(feature = "cl", feature = "cl_native"))] use std::collections::HashSet; use crate::Validatable; #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "serde", serde(tag = "ver"))] pub enum RevocationRegistry { #[cfg_attr(feature = "serde", serde(rename = "1.0"))] RevocationRegistryV1(RevocationRegistryV1), } impl RevocationRegistry { #[cfg(any(feature = "cl", feature = "cl_native"))] pub fn initial_delta(&self) -> RevocationRegistryDelta { match self { Self::RevocationRegistryV1(v1) => { RevocationRegistryDelta::RevocationRegistryDeltaV1(RevocationRegistryDeltaV1 { value: { let empty = HashSet::new(); crate::ursa::cl::RevocationRegistryDelta::from_parts( None, &v1.value, &empty, &empty, ) }, }) } } } } #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct RevocationRegistryV1 { pub value: ursa_cl!(RevocationRegistry), } #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "serde", serde(tag = "ver"))] pub enum RevocationRegistryDelta { #[cfg_attr(feature = "serde", serde(rename = "1.0"))] RevocationRegistryDeltaV1(RevocationRegistryDeltaV1), } impl Validatable for RevocationRegistryDelta {} #[derive(Clone, Debug)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "serde", serde(rename_all = "camelCase"))] pub struct RevocationRegistryDeltaV1 { pub value: ursa_cl!(RevocationRegistryDelta), }