use super::IcrcTokenStandardRow;
use super::contracts::{
IcrcAccountTransactionRow, IcrcArchiveFollowErrorRow, IcrcArchivedBlocksRow, IcrcCapabilityRow,
IcrcFollowedArchiveBlockRow, IcrcTransactionBlockRow,
};
use std::path::PathBuf;
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcBalanceData {
pub token_symbol: String,
pub decimals: u8,
pub balance: String,
}
#[derive(Clone, Debug, Eq, PartialEq)]
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)]
pub struct IcrcAccountTransactionPageData {
pub index_canister_id: String,
pub balance: String,
pub oldest_transaction_id: Option<String>,
pub next_start: Option<String>,
pub token_symbol: String,
pub decimals: u8,
pub transactions: Vec<IcrcAccountTransactionRow>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcAccountTransactionCollectionData {
pub index_canister_id: String,
pub balance: String,
pub token_symbol: String,
pub decimals: u8,
pub transactions: Vec<IcrcAccountTransactionRow>,
pub page_count: u32,
pub last_cursor: Option<String>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CachedIcrcAccountTransactionSnapshot {
pub path: PathBuf,
pub snapshot: super::contracts::IcrcAccountTransactionSnapshot,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcIndexData {
pub index_canister_id: Option<String>,
pub index_error: Option<String>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcTransactionsData {
pub log_length: Option<String>,
pub blocks: Vec<IcrcTransactionBlockRow>,
pub archived_blocks: Vec<IcrcArchivedBlocksRow>,
pub followed_archive_blocks: Vec<IcrcFollowedArchiveBlockRow>,
pub archive_follow_errors: Vec<IcrcArchiveFollowErrorRow>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IcrcCapabilitiesData {
pub supported_standards: Vec<IcrcTokenStandardRow>,
pub capabilities: Vec<IcrcCapabilityRow>,
}