use serde::{Deserialize, Serialize}; use strum::Display; use subxt::utils::H256; use subxt::config::substrate::DigestItem; use crate::{ types::{EraInfo, CasperExtrinsicDetails}, }; use subxt::utils::AccountId32; #[derive(Debug, Clone, PartialEq, Eq, Display, Serialize, Deserialize)] pub enum Action { Tick, Render, Resize(u16, u16), Suspend, Resume, Quit, ClearScreen, Error(String), Help, SetMode(crate::app::Mode), SetActiveScreen(crate::app::Mode), UsedExplorerBlock(Option), UsedExplorerLog(Option), UsedAccount(AccountId32), NewAccount(String), RenameAccount(String), UpdateAccountName(String), NewBestBlock(u32), NewBestHash(H256), NewFinalizedBlock(u32), NewFinalizedHash(H256), BestBlockUpdated(u32), ExtrinsicsLength(u32, usize), GetBlockAuthor(H256, Vec), SetBlockAuthor(H256, String), GetNodeName, GetSystemHealth, GetGenesisHash, GetChainName, GetChainVersion, GetPendingExtrinsics, GetLatestBlock, GetFinalizedBlock, GetActiveEra, GetEpochProgress, GetValidators, SetNodeName(Option), SetSystemHealth(Option, bool, bool), SetGenesisHash(Option), SetChainName(Option), SetChainVersion(Option), BestBlockInformation(H256, u32), FinalizedBlockInformation(H256, u32), ExtrinsicsForBlock(u32, Vec), SetActiveEra(EraInfo), SetEpochProgress(u64, u64), SetPendingExtrinsicsLength(usize), GetTotalIssuance, GetExistentialDeposit, SetExistentialDeposit(u128), SetTotalIssuance(u128), }