use serde::{Deserialize, Serialize};
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[non_exhaustive]
pub struct LocalState {
pub os_crypt: OsCrypt,
}
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[non_exhaustive]
pub struct OsCrypt {
#[serde(default)]
pub audit_enabled: bool,
pub encrypted_key: String,
pub app_bound_encrypted_key: Option<String>,
}
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
#[derive(Deserialize, Serialize)]
#[non_exhaustive]
pub struct YandexLocalState {
#[serde(default)]
pub audit_enabled: bool,
pub os_crypt: YandexOsCrypt,
}
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
#[derive(Deserialize, Serialize)]
#[non_exhaustive]
pub struct YandexOsCrypt {
pub checker_state: CheckerState,
#[serde(default)]
pub encrypted_key: String,
}
#[derive(Clone)]
#[derive(Debug)]
#[derive(Default)]
#[derive(PartialEq, Eq, PartialOrd, Ord)]
#[derive(Deserialize, Serialize)]
#[non_exhaustive]
pub struct CheckerState {
pub counter: i32,
pub encrypted_data: String,
}