use serde::Serialize;
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct IcrcBalanceData {
pub token_symbol: String,
pub decimals: u8,
pub balance: String,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct IcrcAllowanceData {
pub token_symbol: String,
pub decimals: u8,
pub allowance: String,
pub expires_at_unix_nanos: Option<String>,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct IcrcBalanceReport {
#[serde(flatten)]
pub provenance: super::IcrcReportProvenance,
pub account_owner: String,
pub subaccount_hex: Option<String>,
#[serde(flatten)]
pub value: IcrcBalanceData,
}
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
pub struct IcrcAllowanceReport {
#[serde(flatten)]
pub provenance: super::IcrcReportProvenance,
pub account_owner: String,
pub account_subaccount_hex: Option<String>,
pub spender_owner: String,
pub spender_subaccount_hex: Option<String>,
#[serde(flatten)]
pub value: IcrcAllowanceData,
}