pub struct ClientState {
    pub chain_id: String,
    pub trust_level: Option<Fraction>,
    pub trusting_period: Option<Duration>,
    pub unbonding_period: Option<Duration>,
    pub max_clock_drift: Option<Duration>,
    pub frozen_height: Option<Height>,
    pub latest_height: Option<Height>,
    pub proof_specs: Vec<ProofSpec>,
    pub upgrade_path: Vec<String>,
    pub allow_update_after_expiry: bool,
    pub allow_update_after_misbehaviour: bool,
}Expand description
ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.
Fields§
§chain_id: String§trust_level: Option<Fraction>§trusting_period: Option<Duration>duration of the period since the LastestTimestamp during which the submitted headers are valid for upgrade
unbonding_period: Option<Duration>duration of the staking unbonding period
max_clock_drift: Option<Duration>defines how much new (untrusted) header’s Time can drift into the future.
frozen_height: Option<Height>Block height when the client was frozen due to a misbehaviour
latest_height: Option<Height>Latest height the client was updated to
proof_specs: Vec<ProofSpec>Proof specifications used in verifying counterparty state
upgrade_path: Vec<String>Path at which next upgraded client will be committed.
Each element corresponds to the key for a single CommitmentProof in the
chained proof. NOTE: ClientState must stored under
{upgradePath}/{upgradeHeight}/clientState ConsensusState must be stored
under {upgradepath}/{upgradeHeight}/consensusState For SDK chains using
the default upgrade module, upgrade_path should be []string{“upgrade”,
“upgradedIBCState”}`
allow_update_after_expiry: boolThis flag, when set to true, will allow governance to recover a client which has expired
allow_update_after_misbehaviour: boolThis flag, when set to true, will allow governance to unfreeze a client whose chain has experienced a misbehaviour event
Trait Implementations§
Source§impl Clone for ClientState
 
impl Clone for ClientState
Source§fn clone(&self) -> ClientState
 
fn clone(&self) -> ClientState
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ClientState
 
impl Debug for ClientState
Source§impl Default for ClientState
 
impl Default for ClientState
Source§impl Message for ClientState
 
impl Message for ClientState
Source§fn encoded_len(&self) -> usize
 
fn encoded_len(&self) -> usize
Source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
 
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
 
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
 
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
    Self: Sized,
Source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
 
fn decode<B>(buf: B) -> Result<Self, DecodeError>
Source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
 
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
Source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
 
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self. Read moreSource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
 
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self.