pub mod uptime;
pub use self::uptime::Uptime;
use crate::{coin::Amount, deserializers, Address, Rate};
use serde::Deserialize;
use tendermint::{block, Moniker, Time};
#[derive(Clone, Debug, Deserialize)]
pub struct Validator {
pub account_address: Address,
pub operator_address: Address,
pub consensus_pubkey: String,
pub rank: u64,
#[serde(deserialize_with = "deserializers::block_height")]
pub bonded_height: block::Height,
pub bonded_time: Time,
pub jailed: bool,
pub status: u64,
pub tokens: Amount,
pub delegator_shares: String,
pub moniker: Moniker,
pub identity: String,
pub website: String,
pub details: String,
pub unbonding_height: block::Height,
pub unbonding_time: Time,
pub rate: Rate,
pub max_rate: Rate,
pub max_change_rate: Rate,
pub update_time: Time,
pub uptime: uptime::Summary,
pub min_self_delegation: Amount,
pub keybase_url: String,
}