#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientState {
#[prost(string, tag = "1")]
pub chain_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub trust_level: ::core::option::Option<Fraction>,
#[prost(message, optional, tag = "3")]
pub trusting_period: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "4")]
pub unbonding_period: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "5")]
pub max_clock_drift: ::core::option::Option<::prost_types::Duration>,
#[prost(message, optional, tag = "6")]
pub frozen_height: ::core::option::Option<super::super::super::core::client::v1::Height>,
#[prost(message, optional, tag = "7")]
pub latest_height: ::core::option::Option<super::super::super::core::client::v1::Height>,
#[prost(message, repeated, tag = "8")]
pub proof_specs: ::prost::alloc::vec::Vec<super::super::super::super::ics23::ProofSpec>,
#[prost(string, repeated, tag = "9")]
pub upgrade_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "10")]
pub allow_update_after_expiry: bool,
#[prost(bool, tag = "11")]
pub allow_update_after_misbehaviour: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConsensusState {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub root: ::core::option::Option<super::super::super::core::commitment::v1::MerkleRoot>,
#[prost(bytes = "vec", tag = "3")]
pub next_validators_hash: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Misbehaviour {
#[prost(string, tag = "1")]
pub client_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub header_1: ::core::option::Option<Header>,
#[prost(message, optional, tag = "3")]
pub header_2: ::core::option::Option<Header>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Header {
#[prost(message, optional, tag = "1")]
pub signed_header: ::core::option::Option<::tendermint_proto::types::SignedHeader>,
#[prost(message, optional, tag = "2")]
pub validator_set: ::core::option::Option<::tendermint_proto::types::ValidatorSet>,
#[prost(message, optional, tag = "3")]
pub trusted_height: ::core::option::Option<super::super::super::core::client::v1::Height>,
#[prost(message, optional, tag = "4")]
pub trusted_validators: ::core::option::Option<::tendermint_proto::types::ValidatorSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fraction {
#[prost(uint64, tag = "1")]
pub numerator: u64,
#[prost(uint64, tag = "2")]
pub denominator: u64,
}